Split-Panel-Switching in tmux: einmal pro Befehl wechseln

76

Ich bin jetzt schon eine Weile ein glücklicher tmux-Benutzer, aber es gibt ein Verhalten, das mich nervt. Wenn ich mit dem ^ b-Pfeil zwischen den Fenstern wechsle und dann sofort den Pfeil nach oben drücke (um beispielsweise einen Befehl aus dem Verlauf abzurufen), wechselt der Fensterbereich erneut. Ich verstehe, dass dies nützlich sein kann, wenn Sie sich schnell durch mehrere Fenster bewegen möchten, aber für mich ist es ein Schmerz auf der Rückseite, da ich immer wieder in Fenstern lande, in denen ich nie sein wollte.

Gibt es also eine Möglichkeit, tmux so einzustellen, dass der Befehl ^ b-arrow den Bereich nur einmal wechselt und alle folgenden Pfeiltasten ignoriert?

SteakTartaar
quelle

Antworten:

89

Dies liegt daran, dass die Standardbindungen für die Pfeiltasten mit eingerichtet werden bind-key -rund angeben, dass sie wiederholt werden können. Es gibt zwei Möglichkeiten, wie Sie dies deaktivieren können.

Erstens können Sie das set-option repeat-time 0Wiederholen vollständig deaktivieren. Dies wirkt sich auf alle Bindungen aus. Ich finde das sehr ärgerlich, wenn man die Größe von Fenstern ändert.

Zweitens können Sie die Bindungen für die Pfeiltasten bind-keyohne die -rOption ändern :

bind-key Up    select-pane -U
bind-key Down  select-pane -D
bind-key Left  select-pane -L
bind-key Right select-pane -R
qqx
quelle
8

Wenn Sie häufig bind -n C-h select-pane -Lin Fenstern navigieren, richten Sie globale Zuordnungen ein, damit Sie überhaupt keine Präfixe verwenden müssen, z. B. um Strg-H wie Vim nach links zu schalten.

Eine noch bessere Lösung, die auch über Vim-Fenster navigiert, finden Sie unter http://robots.thoughtbot.com/seamhless-navigate-vim-and-tmux-splits .

Mahemoff
quelle
3

Eine andere Möglichkeit besteht darin, eine Bindung zu erstellen, um zum vorherigen Bereich zu springen, wenn Sie zwischen denselben beiden Fenstern hin und her blättern.

bind-key C-a last-pane
Köder
quelle
5
Das eingebaute ist PREFIX C-; Ich glaube.
A.Wan