在 tmux 中,是否可以列出所有窗口中的所有窗格?

在 tmux 中,是否可以列出所有窗口中的所有窗格?

假设我有两个窗口,窗口 1 包含 2 个窗格 (1, 2),窗口 2 包含 3 个窗格(1,2,3),我位于窗口 1 的窗格 1 中,我想直接跳到窗口 2 中的窗格 2,PREFIX wchoose-window将列出会话中的所有窗口,以便我可以跳到右侧窗口,但它不会列出窗格,PREFIX qdisplay-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即可使用此功能。

相关内容