Aktualisieren von Fensterindizes mit tmux?

18

Mit tmux habe ich ein Fenster mit dem Index 3 geschlossen, also habe ich jetzt 1,2,4, ...

Ich möchte lieber sequentielle Fenster haben. Gibt es also eine Möglichkeit, sie zur Neuindizierung zu zwingen?

Mahemoff
quelle

Antworten:

29

tmux 1.7 enthält die renumber-windowsSitzungsoption, die eine lückenlose Sequenz für die Fensternummern einer Sitzung beibehält. Sie können die Option "global" so einstellen, dass sie auf alle Sitzungen angewendet wird, die den globalen Wert nicht überschrieben haben. ZB in Ihrem ~/.tmux.conf:

set-option -g renumber-windows on

Wenn nicht immer alle Sitzungen lückenlose Fensternummern haben sollen, können Sie move-window -r(die Option ist auch neu in * tmux 1.7) verwenden, um die Fenster nur in der aktuellen Sitzung neu zu nummerieren (oder in einer anderen Sitzung, wenn Sie die verwenden) -tMöglichkeit).

Chris Johnsen
quelle
danke für diese option, genau das habe ich gesucht. tmux ist unglaublich
Tropilio
3

Es gibt keine eingebaute Möglichkeit, dies zu tun, aber dieses Bash-Skript sollte funktionieren. Führen Sie es in der Sitzung aus:

i=0
tmux list-windows | cut -d: -f1 | while read winindex; do 
  if (( winindex != i )); then
    tmux move-window -d -s $winindex -t $i
  fi
  (( i++ ))
done

Das -dFlag, das move-windowverhindert, dass dieses Fenster den Fokus erhält.

Thor
quelle
Das hat funktioniert, danke. Ich hatte eigentlich ein Nullfenster, also musste ich mit i = 0 beginnen.
Mahemoff
2
Ach ich vergaß , ich hatte set-option -g base-index 1in .tmux.conf.
Thor
Selbst mit den neuen Funktionen von tmux 1.7 fand ich diese Implementierung nützlich, um das Verschieben einiger Fenster zu vermeiden.
Dequis