将tmux窗格移到另一个会话


43

如果不这样做,是否可以将窗格中正在运行的命令移至另一个tmux会话?

Answers:


68

是的,这非常简单,请使用move-panetmux命令。有关更多信息,请运行

man tmux | less -I '+/mOVE-pane'

棘手的部分只是知道tmux如何在命令中引用会话,窗口和窗格以操纵窗格等。

步骤1

移至您要移至其他会话的窗格

第二步

通过运行获取目标会话的名称<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).

第3步-运行命令

<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命令内指定的会话,窗户和窗格格式的更多背景,请参见COMMANDSman tmux


12
有一个简单的过程:用标记窗格,用<prefix>m转到目标窗口,<prefix>w然后用移到标记的窗格join-pane
Dan Aloni '18

7

我无法发表评论,因此将其放置在此处:对于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-windowdst-window有形式session:window.pane


-1

我有两个会话正在运行,每个会话都在各自的iTerm中。我要做的就是将窗格从一个会话移到另一个会话

选择窗格

<leader>s <session>

<session>方括号内的数字在哪里

tmux 2.7


这实际上并没有将窗格从一个会话移到另一个会话。这只会更改您正在当前终端中查看的会话。这等效于断开并连接到另一个会话。我希望实际上能够在打开多个其他窗格的会话之间移动窗格。
HEGX64 '18
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.