So springen Sie in vim + OS X an den Anfang oder das Ende einer Zeile
16
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.
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.
Mit iTerm und Vim können Sie im Einfügemodus mit Fn + Rechts- und Linkspfeil zum Anfang oder Ende der Zeile springen. Mit Terminal.app benutzen Sie Shift + Pfeile .
Die OP will in Editiermodus, nicht im Befehlsmodus, so dass diese Tasten nur buchstäblich Eingang springen 0und $.
Slhck
1
Als Ergänzung zu Chris Antwort können Sie auch die Wortnavigation (mit den Option+arrowTasten) 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 insertder Betriebsmodus nicht verlassen wird . Sie können auch den Großbuchstaben Oin der ursprünglichen Antwort ändern , um den gleichen Effekt zu erzielen.
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
: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.
quelle
Mit iTerm und Vim können Sie im Einfügemodus mit Fn + Rechts- und Linkspfeil zum Anfang oder Ende der Zeile springen. Mit Terminal.app benutzen Sie Shift + Pfeile .
quelle
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 .
quelle
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:Beachten Sie
o
, dass es sich um Kleinbuchstaben handelt, damitinsert
der Betriebsmodus nicht verlassen wird . Sie können auch den GroßbuchstabenO
in der ursprünglichen Antwort ändern , um den gleichen Effekt zu erzielen.quelle
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.
quelle
Gehen Sie zu Terminal -> Einstellungen -> Profile -> Tastatur und fügen Sie Folgendes hinzu:
Taste: ↖ Aktion: \ 033OH
Taste: ↗ Aktion: \ 033OF
quelle