假设我有两个窗口,窗口 1 包含 2 个窗格 (1, 2),窗口 2 包含 3 个窗格(1,2,3),我位于窗口 1 的窗格 1 中,我想直接跳到窗口 2 中的窗格 2,PREFIX w
这choose-window
将列出会话中的所有窗口,以便我可以跳到右侧窗口,但它不会列出窗格,PREFIX q
这display-panes
将让我仅在当前窗口中选择右侧窗格,但不会隔着窗户。
所以我想知道是否有任何命令可以让我跨窗口选择窗格。最好的解决方案是choose-window
,一个新命令不仅会列出所有窗口,还会列出每个窗口内的所有窗格,就像tree
在目录中一样。
答案1
实际上,您可以通过添加绑定或将绑定更改PREFIX s choose-session
为类似PREFIX s choose-tree
.或者您可以将其绑定到一个新的快捷方式,PREFIX t choose-tree
因为t
当前仅显示一个我尚未找到用途的时钟。
然后,您可以使用箭头键导航该树或地图h
,并l
在 vi-choice 模式下展开/关闭树。
这确实需要特定版本的 tmux(我认为是 1.8 或更高版本)。
编辑:实际上有一种比模糊搜索更快的方法。添加-u
到选择树映射的末尾,您可以选择带有单个字母的会话(在屏幕左侧列出)。这比几乎任何模糊搜索都要快,因为它只需要一个调或和弦(前缀)、一个快捷键(t),然后是一个会话选择(az)。
这极大地改善了我的会话切换,感谢您提出问题,如果您仍然想做模糊匹配,请告诉我。
答案2
这是一个旧帖子,实际上这个问题已经通过commit解决了aad4e4d很久以前,在 github 页面上,使用choose-tree
(只需将其绑定到一个键)来显示所有会话/窗口/选项卡中的所有窗格,当您从列表中滚动行到一个窗格时,它甚至会显示一个预览框,非常好。
只需从github源代码编译并安装tmux
即可使用此功能。