Перенумерация окон в tmux

Я часто получаю более десяти окон в tmux. Позже я закрываю некоторых из моих старых. Есть ли способ перенумеровать, скажем, окно 15, в окно 3 (которое больше не существует)? Или снова pack их, чтобы пустых слотов не было? Я хотел бы сделать это, потому что трудно перейти к окнам с более высоким номером, потому что вы не можете делать Ctrl+B, 15 . Я должен использовать Ctrl+B, w для отображения окон, а затем ввести букву, соответствующую окну, которое я хочу открыть.

Я знаю, что могу менять окна. Например, я мог бы создать новое окно ( Ctrl+B, c ), которое будет открываться в пустом слоте 3. Затем я могу swapw окно 15 и окно 3, а затем закрыть окно 15. Очевидно, это утомительный подход.

Как вы управляете многими окнами в tmux?

4 Solutions collect form web for “Перенумерация окон в tmux”

Похоже, вам нужно это:

 move-window [-rdk] [-s src-window] [-t dst-window] (alias: movew) This is similar to link-window, except the window at src-window is moved to dst-window. With -r, all windows in the session are renumbered in sequential order, respecting the base-index option. 

Вызов movew без параметров перемещает текущее окно в первую свободную позицию. movew -r будет перенумеровать все окна одновременно.

tmux 1.7 имеет несколько функций, которые могут помочь установить и поддерживать номера безразмерного / упакованного окна:

  • Команда move-window выучила новую опцию -r которая будет перенумеровать все окна в сеансе (либо текущий сеанс, либо один, указанный с помощью опции -t ).

    Если у вас есть набор окон типа {1: A, 4: B, 15: C}, вы можете запустить move-window -r чтобы перенумеровать их на {1: A, 2: B, 3: C} (они начнется с вашего base-index , 1 в этом примере).

  • Когда параметр сеанса renumber-windows активирован, tmux автоматически перенумерует окна сеанса (как с помощью move-window -r ) после закрытия любого окна.

    Если вам нравится это поведение, вы можете включить его в глобальном значении, чтобы все сеансы, которые не перекрывали его, автоматически включили его:

     set-option -g renumber-windows on 

Я часто оказываюсь в ситуации, когда у меня есть промежутки между номерами окон, например сеанс с окнами:

 1 3 4 8 9 13 

Я написал сценарий tmux, чтобы переупорядочить их, не изменяя их порядок и не активировав параметр «перенумеровать-окна». Результат:

 1 2 3 4 5 6 

Добавьте в свой .tmux.conf следующее:

 bind R \ set -g renumber-windows on\; \ new-window\; kill-window\; \ set -g renumber-windows off\; \ display-message "Windows reordered..." 

Нажмите [PREFIX] -R, чтобы переупорядочить окна (или изменить привязку). ps: В настоящее время я запускаю tmux 1.9a.

EDIT :

Вышеупомянутое может быть заменено гораздо проще:

 bind R \ move-window -r\; \ display-message "Windows reordered..." 

Предыдущие ответы все в порядке, но вот краткое решение, если все, что вы хотите, это перетасовать небольшое количество окон снова и снова.

 move-window -t <number> 

переместит текущее окно на новый номер окна (который уже не должен быть занят). Чтобы поменять два окна, вы сначала переместите одно окно на новый номер. например, для замены окон 3 и 5:

 move-window -s 3 -t 99 move-window -s 5 -t 3 move-window -s 99 -t 5 
  • Vim не работает внутри tmux
  • Каждый раз, когда я запускаю tmux, запускается новый дочерний процесс ssh-agent (zshell)
  • Завершение слов на экране, как в VIM (Bash или Tmux)
  • Контрольный код выхода в tmux
  • Как заставить vim работать с tmux правильно?
  • Убивание сгруппированных сеансов при отсоединении клиента
  • Перезагрузка tmux config не разворачивает ключи (bind-ключ является кумулятивным)
  • Новые сеансы tmux не содержат файл bashrc
  • Как включить имя сеанса в строку состояния для beobu-tmux?
  • emacs цвета, основанные на переменной окружения $ TERM
  • Почему mutt зависает при запуске gpg в tmux?
  • tmux / screen ctrl + стрелка (слева направо) не работает на SSH
  • Interesting Posts

    Предотвращение блокировки экрана ChromeOS при работе с другим типом

    Множественные подстановочные соответствия для файла sudoers?

    Какую оболочку я должен использовать – tcsh vs bash?

    Как Linux 4.2.5 загружается на процессор Skylake, когда они поддерживаются с 4.3+

    Как избежать разницы в параметрах, которые использовались для создания разделов ext4 на разных дистрибутивах Linux?

    Устанавливать хранилище с хоста в bhyve VM

    lsusb не перечисляет накопитель SCSI, подключенный через USB (мост SATA)?

    По истечении срока действия пароля пользователя, если я установил «maxexpired» в «-1»? – AIX

    Проверка целостности пакетов Debian / Ubuntu при загрузке с DVD-диска только для чтения?

    специфичные для режима emacs keybindings

    Как использовать ssh-agent для предоставления ключей, специфичных для хоста, из файла ~ / .ssh / config и управления паролями?

    Не удалось установить RHEL – NFS

    Команда источника подачи с трубой

    указывая DNS-сервер Linux из одного субдомена в другой поддомен

    очистка взломанного сервера Ubuntu

    Linux и Unix - лучшая ОС в мире.