В tmux есть команда «move-window», с помощью которой вы можете переместить окно к указанному пустому индексу следующим образом:
move-window -t 3
Однако, если индекс 3 уже занят, вы не сможете переместить текущее окно в позицию 3.
Я ищу вариант, который позволит мне переместить (вставить) мое окно в положение 3, даже если оно уже занято, а затем увеличить номера окон для других последующих окон (например, то, которое было первоначально в 3, теперь будет будет 4, далее будет 5 и т. д.)
Пытаться:
new-window -a
использование опции -a при создании нового окна может вставить новое сразу после следующего индекса, в то время как индекс всех остальных последующих окон будет увеличиваться автоматически.
источник
tmux 1.9a
, возможно, эта функция не была доступна в предыдущих версиях.У меня есть решение без необходимости использования внешних скриптов. Поместите следующее в ваш .tmux.conf:
Нажмите [PREFIX] -i и укажите желаемое место вставки. Последние 2 команды выбора окна гарантируют, что «предыдущее» окно установлено в соответствии с ожиданиями, и вы переходите к вставленному окну.
РЕДАКТИРОВАТЬ: хорошо, я говорил слишком рано. Мне пришлось изменить ,
#I
чтобы ,#{window_id}
так как индекс окна изменяется для некоторых окон при вставке. Новая функция (с добавлением новых строк для удобства чтения):Я начал использовать упрощенную версию с помощью следующих 2 команд в .tmux.conf:
Prefix-i вставляет новое окно в положение x, когда окно x существует, и перемещает окна выше этого. Prefix-I создает новое окно в позиции x, когда окно x не существует.
источник