Mein ~/.tmux.conf
:
set -g prefix C-a
unbind C-b
bind C-a send-prefix
bind-key o split-window -v
bind-key e split-window -h
bind-key w kill-pane
(um die Befehlstasten mit denen des GNOME Terminators identisch zu machen)
Die Situation: Nachdem ich das Fenster horizontal in zwei Bereiche aufgeteilt und mit dem Ctrl+ a UpPfeil zu einem Bereich gewechselt habe, muss ich eine Weile (2-3 Sekunden) warten, um die Shell-Verlaufsbefehle in diesem Bereich anzuzeigen. Denn wenn ich erneut drücke, Upwird wieder zum anderen Bereich gewechselt, anstatt mir einen Shell-Verlaufsbefehl anzuzeigen. Wie kann ich das abstellen?
Antwort1
Oben, Unten, Links und Rechts ( select-pane
Bindungen; und Control- und Meta- der gleichen Tasten für resize-pane
) sind standardmäßig „wiederholbare“ Bindungen (erstellt über bind-key -r
). Nachdem Sie die Präfixtaste und eine beliebige einzelne wiederholbare Taste eingegeben haben, können Sie innerhalb der über die Sitzungsoption angegebenen Anzahl von Millisekunden (der Standardwert beträgt 500 ms) eine beliebige andere wiederholbare Taste eingeben (ohne das Präfix erneut eingeben zu müssen) repeat-time
.
Sie können den aktuellen Wert repeat-time
mit diesen Shell-Befehlen überprüfen:
tmux show-options -g | grep \^repeat-time # global
tmux show-options | grep \^repeat-time # this session
Wenn Sie die Wiederholung für die aktuelle Sitzung deaktivieren möchten, geben Sie Ihr Präfix und einen Doppelpunkt ein und geben Sie diesen Befehl ein:
set-option repeat-time 0
Oder Sie können einen bequemen Wert ungleich Null finden. Wenn Sie wirklich einen Wert von etwa 2000 (also 2 s) haben, würde ich vermuten, dass er in festgelegt wird /etc/tmux.conf
.
Wenn Sie die Wiederholung für alle Ihre Sitzungen deaktivieren (oder das Timeout ändern) möchten, legen Sie den globalen Wert mit diesem Befehl fest:
set-option -g repeat-time 0
Wenn Sie einen Wert pro Sitzung festgelegt haben, müssen Sie ihn aufheben, bevor der globale Wert in dieser Sitzung wirksam wird ( set-option -u repeat-time
). Sie können den globalen Wert über Ihre festlegen, .tmux.conf
wenn Sie ihn lieber „dauerhaft“ ausgeschaltet lassen möchten.
Wenn Sie nur Probleme mit Up haben, können Sie es erneut binden ohne -r
:
bind-key Up select-pane -U
Antwort2
Sie können die Wiederholung auch für bestimmte Tastenkombinationen deaktivieren, wenn Sie möchten. Die Standardkombinationen zum Wechseln zwischen Fenstern lassen sich beispielsweise wie folgt zusammenfassen:
bind-key -r Up select-pane -U
bind-key -r Down select-pane -D
bind-key -r Left select-pane -L
bind-key -r Right select-pane -R
Sie können diese ohne die -r
Flagge neu erstellen, wie
bind-key Up select-pane -U
bind-key Down select-pane -D
bind-key Left select-pane -L
bind-key Right select-pane -R
Persönlich bevorzuge ich, dass der Fensterwechsel nicht wiederholbar ist. Die Wiederholung ist gut, wenn Sie ein Fenster in viele kleine Fenster aufgeteilt haben, kann aber zu Tastenkollisionen (wie Sie beschrieben haben) mit den in diesen Fenstern laufenden Anwendungen (wie Shell-Verlauf, Vim usw.) führen, und ich habe normalerweise sowieso nicht mehr als 2 Fenster pro Fenster. Aber jedem das Seine.