Если не делать этого , возможно ли переместить запущенную команду на панели в другой сеанс tmux?
Если не делать этого , возможно ли переместить запущенную команду на панели в другой сеанс tmux?
Ответы:
Да, это довольно просто, используйте команду move-pane
tmux. Для получения дополнительной информации бегите
man tmux | less -I '+/mOVE-pane'
Самое сложное - просто знать, как tmux ссылается на сеансы, окна и панели в командах для управления панелями и т. Д.
Переместитесь в панель, которую хотите переместить в другой сеанс
Получить имя целевого сеанса, запустив <prefix>s
.
На моей системе, которая производит:
(0) + 0: 8 windows (attached)
(1) + 1: 1 windows
^
|
This is the session name. It could be different
on your system and it could be a word (not just a number).
<prefix>:move-pane -t <session_name>:<window number>
^^^^^^^^^^^^^^ the name from above goes in here
Итак, в моей системе я перешел на панель с запущенным процессом, запустил
<prefix>:move-pane -t 1:1
и панель с процессом в нем переместилась в первое окно сеанса 1
.
Он вставляется как разделение, поэтому обычно вы хотите запустить окно на другом сеансе как одноразовое окно.
Примечание: кажется, что целевое окно должно существовать, иначе move-pane
команда выдаст ошибку.
Для более фона на формат для задания сеансов, окон и панелей внутри команды tmux, смотрите раздел COMMANDS
в man tmux
.
Я не могу комментировать, поэтому я разместлю это здесь: для tmux 2.1-3build1 ~ точная команда должна быть:
<prefix>:move-pane -t session_name:window_number
- вам нужно " -t
" перед названием сеанса (не обязательно числом), и окно с заданным номером должно существовать.
Все остальное как описано the_velour_fog в его ответе .
PS Если вы печатаете только session_name
без window_number
так:
<prefix>:move-pane -t session_name:
,
тогда ваша панель будет перемещена в текущее окно целевого сеанса (и это окно будет разделено).
PPS Если вы просто хотите переместить ваше окно (а не только панель), то есть хороший ответ о том, как переместить окно между клиентами tmux :
<prefix>:move-window [-d] [-s src-window] [-t dst-window]
(alias: movew)
где src-window
и dst-window
есть форма session:window.pane
.
У меня запущено два сеанса, каждый в своем собственном iTerm. Все, что мне нужно было сделать, чтобы переместить панель из одного сеанса в другой, это
выберите панель
<leader>s <session>
где <session>
число в квадратных скобках
tmux 2.7
<prefix>m
, перейдите в окно назначения с помощью<prefix>w
и переместите отмеченную панель там с помощьюjoin-pane
.