Im Terminal kann ich dies durch Drücken von Shift + Home und Shift + End tun, aber es scheint nicht in vim zu funktionieren. Home- und Endetasten blättern nur im Terminalfenster. Ich möchte in den Bearbeitungsmodus springen.
Im Terminal kann ich dies durch Drücken von Shift + Home und Shift + End tun, aber es scheint nicht in vim zu funktionieren. Home- und Endetasten blättern nur im Terminalfenster. Ich möchte in den Bearbeitungsmodus springen.
Antworten:
Diese Antwort setzt voraus, dass Sie vim in einem Terminalfenster verwenden .
Die Standardbindungen für " Home" und " End" unterscheiden sich geringfügig von denen, die ein Programm aufgrund der üblichen TERM-Einstellung (dh einer xterm-Variante) erwarten würde. Wenn Sie sich an die Standardbindungen halten möchten (und die Shifted-Varianten in Terminal verwenden müssen ), können Sie versuchen, Folgendes in Folgendes einzufügen .vimrc
:
:" map Mac OS X Terminal.app default Home and End
:map <ESC>[H <Home>
:map <ESC>[F <End>
:imap <ESC>[H <C-O><Home>
:imap <ESC>[F <C-O><End>
:cmap <ESC>[H <Home>
:cmap <ESC>[F <End>
Andernfalls können Sie versuchen, die Codes anzupassen, die das Terminal sendet, wenn Sie Home und End verwenden (auch ohne Verschiebung, wenn Sie möchten). Eine Suche würde wahrscheinlich einige Stellen aufdecken, die beschreiben, wie es geht ( hier ist eine ). Die Grundidee ist, dass Terminal ESC [1 ~ anstelle von ESC senden soll [H für Home und ESC [4 ~ anstelle von ESC [F für End (oder Shift-Home / Shift-End, wenn Sie Home / behalten Ende für den Zugriff auf Scrollback). Ich würde den Prozess detaillierter beschreiben, aber ich habe nur 10.4 und ich weiß, dass Terminal in 10.5 und höher stark verändert wurde.
Verwenden Sie 0 und $, um zum Anfang und Ende der Zeile zu gelangen. Verweisen Sie auf diese Website: http://alvinalexander.com/linux/vi-vim-editor-end-of-line .
0
und $
.
Als Ergänzung zu Chris Antwort können Sie auch die Wortnavigation (mit den Option+arrow
Tasten) erreichen, indem Sie einfach diese vier Zeilen hinzufügen:
:map <ESC>f el
:imap <ESC>b <C-o>b
:imap <ESC>f <C-o>el
:cmap <ESC>f el
Beachten Sie o
, dass es sich um Kleinbuchstaben handelt, damit insert
der Betriebsmodus nicht verlassen wird . Sie können auch den Großbuchstaben O
in der ursprünglichen Antwort ändern , um den gleichen Effekt zu erzielen.
In MacVim können Sie im Bearbeitungsmodus mit den Befehlen "Pfeil nach links" und "Pfeil nach rechts" an den Anfang und das Ende der Zeile springen.
Gehen Sie zu Terminal -> Einstellungen -> Profile -> Tastatur und fügen Sie Folgendes hinzu:
Taste: ↖ Aktion: \ 033OH
Taste: ↗ Aktion: \ 033OF