我知道在tmux中可以将窗口作为窗格加入,但是可以将窗格移至其自己的窗口(选项卡)吗?我尝试在手册页中进行搜索,但找不到它。我想可以通过Shell脚本来实现,但是还有其他更优雅的方法吗?

#1 楼

相关的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
,或者在shell的提示符下(在tmux内)使用:tmux break-pane

评论


值得注意的是,您使用以下格式定位窗格:“ mysession:mywindow.mypane”(如果在其他会话中)和“ mywindow.mypane”(如果在同一会话中)。如果在该窗格中运行的程序是唯一的,则也可以使用“ mysession:progname”。

–本·戴维斯(Ben Davis)
2014年2月13日在0:32



绑定键!从另一个答案就是我所需要的。

–kqw
2014年11月10日15:22

#2 楼

从命令列表中,您可以看到它称为中断窗格,该命令只是


bind-key!


其中bind-键默认为Ctrl + B

评论


有没有可以附加的“破碎”窗格?

–nazikus
14年6月29日在11:27

@nazikus,您可以使用连接窗格。如果在bind-key中看不到任何绑定? (我没有),您可以使用bind-key召唤命令提示符,然后执行join-pane -t <目标窗格索引>。

–奥斯汀·亚当斯(Austin Adams)
15年7月15日在19:14

不要忘记冒号!它是join-pane -t <可选会话名称>:<目标窗格索引>连接窗格-t:0

–沃尔夫
16年7月28日在7:11



哇!!谢谢! :) +1!

–rmbianchi
20年8月5日,11:10

#3 楼

在最新版本的tmux中,它是通过OSx上的自制软件安装的1.9a-默认的键绑定可通过菜单实现连接窗格

bind-key          S choose-window "join-pane -v -s "%%""
bind-key          V choose-window "join-pane -h -s "%%""


#4 楼

tmux 1.8或更高版本:

如果您打算进入“全屏”模式,则可以使用:

bind-key z


进行“缩放” in”(完成工作后也会缩小)。

评论


是的,但是如果我想从那里继续打开新窗口,又不想让旧的环境占用空间,则需要脱离。

– Francesco
20-10-23在18:48