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

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

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

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

решение1

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

set-option -g renumber-windows on

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

решение2

Встроенного способа сделать это нет, но этот скрипт bash должен работать. Запустите его из сеанса:

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избежать передачи фокуса этому окну.

Связанный контент