Answers:
是的,这非常简单,请使用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〜precise,命令应为:
<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
。