2017-07-09 1 views
2

ich vim so konfiguriert hat, die Steuerung + Pfeil verwenden Registerkarten zu wechseln, indem Sie folgende Zeilen in .vimrc Zugabe:Wie Control + Pfeil verwenden, um vim Tabs im Bildschirm zu wechseln?

map <F7> :tabp<cr> 
map <F8> :tabn<cr> 
map <C-up> :tabr<cr> 
map <C-down> :tabl<cr> 
map <C-left> :tabp<cr> 
map <C-right> :tabn<cr> 

In Bildschirm, die <F7> und <F8> funktioniert, aber die Steuerung + Pfeil nicht ..

Irgendeine Idee warum? Und wie zu reparieren? Vielen Dank.

+1

Auf welcher Plattform befinden Sie sich? Einige Schlüssel werden vom Betriebssystem verbraucht, bevor sie Anwendungen erreichen. Zum Beispiel wird in Mac OS Ctrl {links, rechts} vom Betriebssystem für die Missionskontrolle verbraucht. –

+0

@DanLowe Danke für den Kommentar. Es ist Centos 7. – dlz

Antwort

2

Ich bin nicht sicher, dass es funktionieren wird, aber Sie könnten versuchen, diesen Code in Ihrem vimrc enthalten:

if &term =~ '^screen' 
    sil! exe "set <xUp>=\e[1;*A" 
    sil! exe "set <xDown>=\e[1;*B" 
    sil! exe "set <xRight>=\e[1;*C" 
    sil! exe "set <xLeft>=\e[1;*D" 
endif 

ich es von here kopiert.

Wenn Sie tmux verwenden, können Sie auch die Option xterm-keys in Ihrer tmux Konfigurationsdatei aktivieren müssen (~/.tmux.conf):

set-option -gw xterm-keys on 

Es in man tmux beschrieben ist:

xterm-keys [on | off] 
     If this option is set, tmux will generate xterm(1) -style function key sequences; these have a 
     number included to indicate modifiers such as Shift, Alt or Ctrl. The default is off. 

ich nicht wissen, was das Äquivalent für screen ist.


Es ist auch möglich, dass etwas (Fenstermanager, Terminal-Multiplexer, Terminal-Emulator) <C-left> vor Vim abfängt.

Um diese Möglichkeit auszuschließen, könnten Sie versuchen, <C-left> buchstäblich in einen Vim-Puffer einzufügen, indem Sie im Einfügemodus C-v C-left eingeben und sehen, was es anzeigt. Auf meinem Gerät wird ^[[1;5D angezeigt, sodass ich weiß, dass nichts <C-left> abfängt.

Wenn nichts angezeigt wird, müssen Sie herausfinden, welche Software <C-left> abfängt, und die Schlüsselbindung in der Konfiguration entfernen.

+0

Danke. Der 'if' Teil in .vimrc funktioniert. Könnten Sie bitte ein bisschen erklären, wie? – dlz

+0

@ dlz Ich habe die Antwort bearbeitet, um weitere Informationen zur Verfügung zu stellen. Lassen Sie mich wissen, wenn etwas falsch oder unklar ist, und ich werde versuchen, weiter zu bearbeiten. – user852573

+0

danke. Ich verstehe es jetzt viel besser. Nur noch eine Frage: Mit dem Zeichen x sollte vim S- und C- gleich behandeln? – dlz

Verwandte Themen