iTerm2 Vim Alt + Pfeil nach rechts / links


13

Als Linux-Benutzer bin ich es sehr gewohnt, in vim / nano mit ALT+ leftoder von Wort zu Wort zu springen right.

Dies scheint mit iTerm nicht richtig zu funktionieren, ich verwende zsh, ich habe versucht hinzuzufügen;

bindkey -e
bindkey '^[[1;9C' forward-word
bindkey '^[[1;9D' backward-word

Es funktioniert, aber nur innerhalb von zsh. Dann habe ich diese Zeilen kommentiert und in iTerm eine Tastenkombination hinzugefügt.

Bildbeschreibung hier eingeben

Es funktioniert, aber nur für die ALTleft

Wie kann ich dafür sorgen, dass es auch für den rechten Pfeil funktioniert?

Antworten:


10

Gehen Sie in den Eigenschaften von iTerm zu Profile -> Schlüssel und richten Sie dort ein

  • Für ⌥→Send Escape Sequence[1;5C
  • Für ⌥←Send Escape Sequence[1;5D

Bildbeschreibung hier eingeben


Das geht bei mir nicht. Die Escape-Sequenzen werden gesendet, aber vim bewegt sich nur ein Leerzeichen vor und zurück. Ausführen der Standardversion 7.3 von OS X 10.8. Im Idealfall würde ich es gerne auf der Seite von vim ändern, ohne die Standardeinstellungen des Terminal-Emulators zu ändern (da dies zu einer besseren Portabilität führt).
Slhck

Das ist komisch, es funktioniert sowohl in vim (von Homebrew, kein Standard) als auch in zsh mit der Standardkonfiguration von oh-my-zsh (in ~ / .oh-my-zsh / lib / key-bindings.sh).
Eiennohito

Funktioniert auch hier nicht, ich kann Alt + Pfeil in Zsh verwenden, in Vim funktioniert es nur mit Shift + Pfeil :(
Seds

Ich habe es auf verfügbaren Remote-Systemen (Ubuntu 13.04, Stable Debian und Scientific Linux) noch einmal überprüft und es funktioniert überall. Was ist die Ausgabe, wenn Sie Strg + V, ⌥ → drücken? Für mich ist es ^ [[1; 5C
eiennohito

Funktioniert für mich: iTerm / Vi + zsh
Petro Semeniuk

7

Sehen Sie sich zunächst den Schlüsselcode an, den Ihr Terminal an vim sendet:

$ sed -n l
^[[1;9D 

Im obigen Beispiel habe ich den Befehl sed ausgeführt und gedrückt Alt + Left.

Das ^[[1;9Dist die entkam Sequenz vim gesendet werden, so können wir Benutzer , dass für unser Mapping.

Zu vimrc hinzufügen:

map <Esc>[1;9D :tabn<CR>

Danke, das hat bei mir geklappt.
j5shi


0

Keine dieser Antworten hat für mich funktioniert. Am Ende lud ich eine Linux-VM und überprüfte, was ich mit bekommen würde <Alt-ARROW>.

Die 4 Fluchtsequenzen, die für mich gearbeitet haben, sind die folgenden:

  • <Alt+Up>: [1;3A
  • <Alt+Down>: [1;3B
  • <Alt+Right>: [1;3C
  • <Alt+Left>: [1;3D

Achten Sie darauf, die Profilschlüssel zu bearbeiten und nicht die Hauptschlüssel, die von den Profilschlüsseln überschrieben werden (wobei Alt + Pfeile standardmäßig auf eine Hex-Sequenz gesetzt sind, die mit vim nicht funktioniert).


-1

Als weitere mögliche Lösung bietet vim Wortbewegungen an, siehe:

:help word-motions

2
Sie sollten die wesentlichen Informationen angeben, anstatt hier nur einen Verweis anzubringen.
Pabouk
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.