Обновление оконных индексов с помощью tmux?

18

Использование tmux, я закрыл окно индексированных 3, так что теперь у меня есть 1,2,4, ...

Я бы предпочел иметь последовательные окна, так есть ли способ заставить их переиндексировать?

mahemoff
источник

Ответы:

29

tmux 1.7 включает в себя параметр renumber-windowsсеанса, который поддерживает последовательность «без промежутков» для номеров окон сеанса. Вы можете установить параметр «глобально», чтобы он применялся ко всем сеансам, которые не переопределяют глобальное значение. Например, в вашем ~/.tmux.conf:

set-option -g renumber-windows on

Если вы не всегда хотите, чтобы у всех ваших сессий были «пропущенные» номера окон, то вы можете использовать move-window -r(опция также нова для * tmux 1.7), чтобы перенумеровать окна только в текущем сеансе (или в каком-то другом сеансе, если вы используете -tопция).

Крис Джонсен
источник
спасибо за этот вариант, это именно то, что я искал. tmux удивительно
Tropilio
3

Там нет встроенного способа сделать это, но это Баш скрипт должен работать. Запустите его внутри сессии:

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

-dФлаг move-windowИзбегает давая это окно фокус.

Тор
источник
Это сработало, спасибо. У меня фактически было нулевое окно, поэтому мне нужно было начать с i = 0.
mahemoff
2
Ах , я забыл , что я имел set-option -g base-index 1в .tmux.conf.
Тор
Даже с tmux 1,7 новых функций, я нашел эту реализацию полезным , чтобы избежать перемещения некоторых окон.
dequis