Warum funktionieren meine Pfeiltasten in vim unter iTerm nicht?

11

Sie funktionieren einwandfrei, wenn ich Terminal verwende und eine VIM-Sitzung starte, aber unter iTerm muss ich auf HJKL zurückgreifen, um Bewegungen von links nach oben nach unten nach rechts auszuführen.

Sowohl in Terminal als auch in iTerm TERM = xterm-color. Mein .vimrcist ziemlich schlank und es sind dort keine Tastenkombinationen festgelegt, die dieses Problem verursachen würden.

iTerm v0.10.

Ian C.
quelle

Antworten:

5

Versuche Folgendes:

  1. Aus dem Lesezeichen Menüpunkt wählen Lesezeichen verwalten ... .
  2. Wählen Sie das Standard- Lesezeichen und klicken Sie auf das Bearbeitungssymbol.
  3. Ändern Sie die Tastatureinstellung in Global .
Wächter
quelle
Ich habe das gleiche Problem auf iTerm2. Es gibt kein Lesezeichen-Menü :(
Wei Hu
1
@Wei: In iTerm2 heißen sie Profile. Profile -> Profile öffnen ... und von dort aus können Sie die xterm-Standardeinstellungen für Tastatur für die Profile laden.
Ian C.
@ Ian, danke. Ich habe die Einstellungen gefunden, aber das Laden der xterm-Standardeinstellungen hat das Problem nicht behoben.
Wei Hu
@WeiHu: Der ursprüngliche Vorschlag von Sentinel war, die globale Einstellung zu laden, nicht die xterm-Einstellung, und ich gehe davon aus, dass dies auf iTerm2 übertragen wird - ich werde es versuchen, sobald ich iTerm2 installiere. Ich weiß, dass Ian C. xterm geschrieben hat, aber vielleicht war das ein Tippfehler.
Blaisorblade
Für iTerm2 gibt es einen FAQ-Bereich: iterm2.com/#/section/faq Ich verwende "Report Terminal Type: xterm-256color" zusammen mit den Standard-xterm-Tastenkombinationen. Sie können die von Terminal.app ausprobieren, aber die Tastenkombinationen scheinen nichts miteinander zu tun zu haben. Für mich war es nur wichtig, Alt so einzustellen, dass es sich als + Esc anstelle von Meta verhält, aber das sollte nicht für Pfeile gelten (für mich wurden Alt-B und Freunde unter dem Bildschirm behoben).
Blaisorblade
4

Folgendes hat bei mir funktioniert.

In iTerm2:

  • Profile -> Offene Profile ...
  • Profile bearbeiten ...
  • Registerkarte "Schlüssel"
  • Wählen Sie in der Dropdown-Liste Voreinstellung laden ... die Option Terminal.app-Kompatibilität aus
Gerald Boersma
quelle
Danke Gerald, du bist ein Gentleman und ein Knappe.
Snickers3192
2

So habe ich behoben:

nnoremap <silent> <ESC>^[A <Nop>
nnoremap <silent> <ESC>^[B <Nop>
nnoremap <silent> <ESC>^[D <Nop>
nnoremap <silent> <ESC>^[C <Nop>

Hinweis:

Die Zeichen "^ [" dürfen nicht eingegeben werden. Stattdessen erhalten Sie sie, indem Sie: - Vund die entsprechende Cursorpfeilposition (nach oben, unten, links, rechts) drücken.

Getestet mit: iTerm2 (Build 1.0.0.20140629)

fmendez
quelle
1

Ich konnte dies mit iTerm2 Build 3.0.15 und dem folgenden Auszug aus meiner .vimrc klären:

" Map alternate key combination for Esc.
noremap <c-[> <Esc>
" Map arrow keys for nomal mode.
nnoremap <silent> <Esc><Up>A <Nop>
nnoremap <silent> <Esc><Down>B <Nop>
nnoremap <silent> <Esc><Right>C <Nop>
nnoremap <silent> <Esc><Left>D <Nop>

HTH.

Jerome
quelle