Aktualizowanie indeksów okien za pomocą tmux?


18

Za pomocą tmux zamknąłem okno o indeksie 3, więc teraz mam 1,2,4, ...

Wolę sekwencję okien, więc czy jest jakiś sposób, aby zmusić je do ponownej indeksacji?

Odpowiedzi:


29

tmux 1.7 zawiera renumber-windowsopcję sesji, która utrzymuje sekwencję „bez przerw” dla numerów okien sesji. Możesz ustawić opcję „globalnie”, aby dotyczyła wszystkich sesji, które nie zastąpiły wartości globalnej. Np. W ~/.tmux.conf:

set-option -g renumber-windows on

Jeśli nie zawsze chcesz, aby wszystkie sesje miały numery okien „bez przerw”, możesz użyć move-window -r(ta opcja jest również nowa w * tmux 1.7), aby ponownie numerować okna tylko w bieżącej sesji (lub w innej sesji, jeśli używasz -topcja).


dzięki za tę opcję, właśnie tego szukałem. tmux jest niesamowity
Tropilio,

3

Nie ma wbudowanego sposobu, aby to zrobić, ale ten skrypt bash powinien działać. Uruchom go z poziomu sesji:

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

-dFlagę move-windowunika dając tym oknie ostrość.


To działało, dzięki. Właściwie miałem okno zerowe, więc musiałem zacząć od i = 0.
mahemoff

2
Ach zapomniałem miałem set-option -g base-index 1w .tmux.conf.
Thor

Nawet dzięki nowym funkcjom tmux 1.7 uznałem tę implementację za przydatną, aby uniknąć przenoszenia niektórych okien.
dequis
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.