Переместить панель в новое окно в tmux

156

Я знаю, что в tmux можно присоединить окно в качестве панели, но можно ли переместить панель в собственное окно (вкладку)? Я попытался найти его на странице руководства, но не смог найти. Я думаю, что это возможно сделать через скрипт оболочки, но есть ли другой, более элегантный способ?

Мики С.
источник

Ответы:

166

Соответствующие команды tmux

  • join-pane -s
  • join-pane -t
  • break-pane

Наручники

Вы можете добавить следующие привязки к вашему ~/.tmux.conf:

## Join windows: <prefix> s, <prefix> j
bind-key j command-prompt -p "join pane from:"  "join-pane -s '%%'"
bind-key s command-prompt -p "send pane to:"  "join-pane -t '%%'"

Выше может перемещать панели между существующими окнами.

Для разбиения панели на новое окно используйте break-pane (которая также может быть связана) .

Альтернативное использование

Все три команды могут быть использованы из строки в tmux как: <prefix>+:тогда break-pane
или в приглашении оболочки (внутри tmux) с: tmux break-pane.

скромный
источник
11
Стоит отметить, что вы выбираете целевую панель в следующем формате: «mysession: mywindow.mypane» (если в другом сеансе) и «mywindow.mypane» (в том же сеансе). Вы также можете использовать «mysession: progname», если программа, запущенная на этой панели, уникальна.
Бен Дэвис
15
bind-key !от другого ответа это все что мне нужно.
гуака
137

Из списка команд видно, что он называется панелью прерываний, а команда просто

ключ привязки!

где bind-ключ по умолчанию равен Ctrl+B

jimbog
источник
5
Есть ли где-нибудь, чтобы прикрепить обратно "сломанную" панель?
nazikus
3
@nazikus вы можете использовать join-pane. Если вы не видите никаких привязок для этого в bind-key ?(я не видел), вы можете вызвать командную строку с помощью bind-key :и выполнить join-pane -t <destination pane index>.
Остин Адамс
4
Не забудьте о толстой кишке! Это, join-pane -t <optional session name>:<destination pane index>например,join-pane -t :0
Уолф
11

В последней версии tmux, установленной из homebrew на OSx - 1.9a - связывание ключей по умолчанию реализует панель соединения с меню

bind-key          S choose-window "join-pane -v -s "%%""
bind-key          V choose-window "join-pane -h -s "%%""
Андрей
источник
0

tmux 1.8 или выше:

Если вы собираетесь перейти в полноэкранный режим, вы можете использовать:

bind-key z

«увеличить» (а также уменьшить после того, как вы закончили свою работу).

Пейман Карими
источник