GNU/Linux >> LINUX-Kenntnisse >  >> Linux

tmux select-pane -LDUR-Befehl - Deaktivieren Sie das automatische Zyklusverhalten

Fügen Sie dies Ihrem ~/.tmux.conf hinzu :

set-option -g default-shell /bin/bash
unbind Up     
unbind Down   
unbind Right   
unbind Left  
bind Up run-shell "if [ $(tmux display-message -p '#{pane_at_top}') -ne 1 ]; then tmux select-pane -U; fi"
bind Down run-shell "if [ $(tmux display-message -p '#{pane_at_bottom}') -ne 1 ] ; then tmux select-pane -D; fi"
bind Right run-shell "if [ $(tmux display-message -p '#{pane_at_right}') -ne 1 ]; then tmux select-pane -R; fi"
bind Left run-shell "if [ $(tmux display-message -p '#{pane_at_left}') -ne 1 ]; then tmux select-pane -L; fi"

Grundsätzlich sollte dies mit den tmux-Versionen 2.6 + laufen (danach wurden die Umgebungsvariablen pane_at_top, pane_at_bottom, pane_at_left, pane_at_right hinzugefügt. Für tmux

Wenn Sie außerdem eine benutzerdefinierte Shell starten möchten, tun Sie dies über set-option -g default-command fish (oder zsh oder csh oder was auch immer). Wenn Sie alternativ eine Nicht-Bash-Shell als Ihre tmux-Standard-Shell verwenden möchten, legen Sie sie als solche fest (set-option -g default-shell ) und dann können Sie die obige Logik im Shell-Skript Ihrer Wahl auscodieren. Die Verwendung bestimmter Shells (wie in meinem Fall) bietet Ihnen jedoch nicht die Bequemlichkeit von Einzeiler-if-Befehlen (oder es könnte einfach sein, dass ich nicht genug über bestimmte Shells weiß, oder vielleicht funktionieren mehrere Zeilen in run- Schale.

Quelle:github Issues-Thread, den ich gestartet habe


Vielen Dank an Gilgamesh Skytrooper für das Posten des Problems auf Github. Hier ist eine einfache Version, die mit mehreren Sitzungen arbeiten kann und keinen Shell-Unterprozess aufruft.

bind -n M-a if -F '#{pane_at_left}'   '' 'select-pane -L'
bind -n M-d if -F '#{pane_at_right}'  '' 'select-pane -R'
bind -n M-w if -F '#{pane_at_top}'    '' 'select-pane -U'
bind -n M-s if -F '#{pane_at_bottom}' '' 'select-pane -D'

Entfernen Sie -n wenn Sie das Präfix (C-b ) zuerst und ändern Sie die Bindungen M-[awds] nach Ihren Wünschen.


Linux
  1. Bash Clear Command Seltsames Verhalten löscht Scrollback Buffer.?

  2. Wie deaktiviere ich einen Alias ​​in Bash für einen einzelnen Befehl?

  3. Verhindern, dass Bereich/Fenster geschlossen wird, wenn der Befehl abgeschlossen ist – Tmux?

  4. So deaktivieren Sie Strg+c oder Strg+z mit dem Befehl „trap“ in Linux

  5. So deaktivieren Sie einen bestimmten Befehl für einen bestimmten Benutzer in Linux

So deaktivieren Sie SElinux unter CentOS 7

So aktivieren und deaktivieren Sie WLAN unter Kali Linux

4 Möglichkeiten zum Deaktivieren/Sperren bestimmter Paketaktualisierungen mit dem Yum-Befehl

Befehl zum dauerhaften Deaktivieren von SELinux auf AlmaLinux 8

Nagios:Benachrichtigungen von der Befehlszeile unter Windows/Linux deaktivieren

So deaktivieren Sie den passiven Modus im Linux-FTP-Befehl