it-swarm.com.de

Wie wechsle ich in Vim zwischen Befehls- und Einfügemodus?

Ich habe gerade angefangen, Vim als IDE zu verwenden. Ich habe es jetzt eine Weile als Testeditor verwendet, sodass ich nicht sehr oft in den Befehlsmodus wechseln musste. Da ich jedoch in Java programmiere, muss ich in den Befehlsmodus wechseln, um die Datei zu erstellen, zu kompilieren/auszuführen ... usw.

Das Problem ist: Ich brauche eine gute Möglichkeit, zwischen den beiden Modi zu wechseln.

Ich habe online gesucht und es heißt, dass der <Esc>-Schlüssel das tun soll, aber das funktioniert bei mir nicht (vielleicht nicht für gVim? Ich weiß nicht warum.)

Ich muss drücken CTRLO jedes Mal, um in den Befehlsmodus zu wechseln; Die Escape-Taste funktioniert in diesem Modus. Sie bringt mich zurück in den Einfügemodus. Aber gibt es eine bessere oder einfachere Möglichkeit, zwischen dem Befehlsmodus und dem Einfügemodus zu wechseln?

79
Ravish Chawla

Sieht so aus, als würde Ihr Vim im einfachen Modus gestartet. Siehe :help easy.

Dies geschieht, wenn Vim mit dem Argument -y oder als evim aufgerufen wird, oder wenn sich irgendwo in Ihrer :set insertmode-Konfiguration ein .vimrc befindet. Suchen Sie die Quelle und deaktivieren Sie sie. vorübergehend kann dies auch über erfolgen Ctrl + O :set noim Enter.

41
Ingo Karkat

Drücken Sie ESC Beendet den Einfügemodus in den normalen Modus, in dem Sie drücken können : einen Befehl eingeben. Drücken Sie i Nochmals, um in den Einfügemodus zurückzukehren, und schon kann es losgehen.

Ich bin kein Vim-Guru, daher kann ein anderer erfahrener sein und Ihnen andere Optionen geben.

106
rcdmk

Dies wurde in andere Fragen erwähnt, aber ctrl + [ ist ein Äquivalent zu ESC auf allen Tastaturen.

13
begolf123

jj verwenden

In meinem Fall ist die .vimrc-Einstellung (oder in gVim in _vimrc) unten eingestellt.

inoremap jj <Esc>   """ jj key is <Esc> setting
4
StarMomo

Von emacs kommend habe ich festgestellt, dass ich ctrl +-Schlüssel gerne erledige, und in vim habe ich festgestellt, dass [ctrl + C] und [alt + backspace] vom Einfügemodus in den Normalmodus wechseln. Sie könnten versuchen zu sehen, ob einer dieser Punkte für Sie funktioniert.

2
maxorcist

Für mich war das Problem, dass ich mich im Aufnahmemodus befand. Um den Aufnahmemodus zu verlassen, drücken Sie q. Dann Esc hat bei mir wie erwartet funktioniert.

1
betontalpfa

Sie können Alt + H, J, K, L verwenden, um den Cursor im Einfügemodus zu bewegen.

0
Khoi Hoang

Es gibt auch eine weitere Lösung für diese Art von Problem, die ziemlich selten ist, denke ich, und Sie können es erfahren, wenn Sie vim unter OS X Sierra verwenden. Eigentlich ist es ein Problem mit der Esc-Taste - nicht mit Vim. Zum Beispiel konnte ich das Vollbildvideo auf YouTube nicht mit Esc beenden, aber ich lebte einige Monate damit, bis ich das gleiche Problem mit vim hatte.

Ich habe diese Lösung gefunden. Wenn Sie faul genug sind, um einem externen Link zu folgen, half es, Siri auszuschalten und den Vorgang im Aktivitätsmonitor zu beenden.

0
oleander