2016-06-12 13 views
1

Mit allen Vim, Xvim (für Xcode) und Ideavim (für IntelliJ) möchte ich die Standardtastenbindungen im Einfügemodus statt Vims verwenden können. Ich benutze Xcode schon seit einiger Zeit und bin ziemlich gut mit den Standard-Xcode-Bindungen tippbar geworden, aber Vim-Bindungen sind so viel besser, wenn sie nicht im Einfügemodus sind.Verwenden Sie Emac-Tasten im Einfügemodus?

Ich weiß, Sie .vimrc Einstellungen tun können, wie

:im <C-D> <esc>xa 

diese Funktionen zu emulieren, aber dies lässt noch Probleme mit leicht unterschiedlichen Verhaltensweisen sowie verlieren Funktionalität, wo diese Befehle mehrere Verwendungen. IE ctrl + n ist sowohl down während der Eingabe und next beim Scrollen durch Autovervollständigungen. Benutzerdefinierte Bindungen in .vimrc entfernen die Möglichkeit, durch Autokomplettierungen zu blättern.

Mit

:im <C-N> <NOP> 

ermöglicht durch automatische Vervollständigungen Scrollen, aber es immer noch nicht funktionieren, wie down nicht lassen.

Weiß jemand, wie man das löst?

+0

Welche Keymap haben Sie ausgewählt? Meine ist eine benutzerdefinierte Keymap, die "Basierend auf Keymap: Mac OS X 10.5 +", und ich kann Ctrl-n wie beschrieben verwenden (nach unten während der Eingabe und als nächstes in einer Autovervollständigungsliste im Einfügemodus). Ich habe keine benutzerdefinierten Bindungen für Strg-n in meiner ~/.ideavimrc oder IDEA Keymap. – jbyler

Antwort

0

Wenn Sie wirklich wollen, können Sie

nnoremap i :action VimPluginToggle<CR> 

in Ihr ~/.ideavimrc, dann in den Einstellungen setzen => Keymap, finden die Vim Emulator Artikel und die Verknüpfung ESC zuweisen. Wenn Sie den Einfügemodus nicht aufrufen, deaktivieren Sie IdeaVim, und durch Drücken von ESC wird es wieder aktiviert.

Ich habe das kurz getestet und es scheint zumindest auf oberflächlicher Ebene zu funktionieren, obwohl Sie den sich verändernden Caret-Stil als Indikator dafür verlieren, in welchem ​​Modus Sie sind. Ich bin mir nicht sicher, ob das eine gute Idee ist . Wahrscheinlich ist es besser, innerhalb des Systems wie geplant zu arbeiten und die gewünschten Bindungen einzurichten.

Verwandte Themen