Mein Terminal-Setup ist gnome-terminal + tmux + zsh mit vi-Bindungen.
In Anwendungen wie vim oder sogar im Bearbeitungsmodus vi der Befehlszeile von zsh muss ich häufig die ESCTaste drücken, aber es gibt eine kleine Verzögerung, bevor die Auswirkungen dieser Taste auftreten. Siehe GNU-Bildschirm macht Vim ESC-Taste langsam
Nach einigem Experimentieren stellte ich fest, dass das Schlagen einer ESCTaste und sofort einer anderen Taste (etwa b) den gleichen Effekt wie das Schlagen hat Alt+b. Ich weiß nicht, warum dies der Fall ist (wahrscheinlich aus alten Gründen, als es keine gab Alt? Ich weiß es nicht). In beiden AltFällen habe ich zwei Schlüssel und möchte dieses Verhalten mit meinem ESCSchlüssel nicht. Ich habe es versucht C+[und es ist das gleiche Problem damit auch.
Ich bin nicht sicher, wer dafür verantwortlich ist, Gnome-Terminal oder TMUX oder mein Betriebssystem selbst (Ubuntu Natty). Irgendwelche Ideen, wie man das angehen könnte, wären großartig.
Update : Ich habe ohne tmux auf einem anderen Terminal (LXTerminal) nachgesehen und die Verzögerung ist auch dort vorhanden.
Antworten:
Hier ist eine aktuelle Lösung. Fügen Sie Folgendes hinzu zu
.tmux.conf
:quelle
tmux kill-server
dass dies in Kraft trat.tmux-prefix
(StandardCtrl+b
) gefolgt von:
und eingebensource-file $HOME/.tmux.conf
.Die Verzögerung wird durch die Eingaberoutinen verursacht, die möglicherweise entscheiden müssen, ob eine Funktionstaste gedrückt wurde oder nicht. Dazu startet die Eingaberoutine bei jedem Einlesen eines ESC-Zeichens einen Timer. Zeichen, die von der Eingabe gelesen werden, bevor der Timer abgelaufen ist (sagen wir eine Zehntelsekunde), werden dann als ESC-Sequenz einer Funktionstaste interpretiert und diese ESC-Sequenz wird mit bekannten Zeichenfolgen von ESC-Sequenzen aus dem Terminfo oder dem verglichen termcap-Datenbank (hängt davon ab, welche Routinen auf niedriger Ebene verwendet werden).
Natürlich ist dies für Anwendungen ärgerlich, bei denen ESC alleine verwendet wird, aber ich kenne keine Problemumgehung dafür.
Zu Ihrer Frage mit dem Verhalten von ESC a= Meta a:
Metatasten waren nicht für alle Tastaturen verfügbar. Um dieses Problem zu umgehen, durfte häufig die ESC-Taste vor der anderen Taste gedrückt werden.
quelle
Obwohl dies Ihr Problem möglicherweise nicht direkt behebt, habe ich festgestellt, dass ich den
<Ctrl> c
Einfügemodus mit beenden kann. Dies kann auch verwendet werden, um das Scrollen auf dem Bildschirm von tmux zu beenden (das mit aufgerufen werden kann<leader> PgUP
).quelle
<C-c>
den Einfügemodus bei normaler Verwendung zuInsertLeave
beenden, da der automatische Befehl, auf den einige Plugins achten, nicht ausgeführt wird . Sehen:h i_CTRL-C
.