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?

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).


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.


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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.