我以为将tmux窗格移到窗口是相同的问题,但事实并非如此。
由于经常使用GNU屏幕,我正在寻找tmux做同样的事情。我经常要做的事情是打开几个不同的窗口,一个在vim中打开一些代码,打开几个终端窗口以测试代码,有时还需要一两个窗口来处理其他各种事情。我垂直分割屏幕,通常在顶部窗格中有vim窗口,然后在底部显示其他窗口之一。
然后Ctrla,我使用的主要命令是,Tab在窗格之间旋转,以及Ctrla,n在窗格内的窗口之间旋转。例如,在顶部窗格中使用vim,我切换到底部窗格,然后在其他终端上旋转,以完成所需的操作。屏幕始终保持拆分状态。
问题是我无法找到可比的能力,屏幕的Ctrla,n在TMUX。切换窗口似乎在窗格内不起作用,但是会完全跳开。如果屏幕被拆分,则似乎仅有的两个选项是跳至未拆分的某个窗口,然后拆分它或对窗格进行子拆分。我要找的东西都不是。
建议(除了坚持使用屏幕之外)?
tmux和screen具有不同的模型,因此没有完全等效的模型。
用屏幕术语来说,拆分可让您同时显示多个窗口。next
(C-a n
)旋转窗口以显示拆分的活动部分;这使您可以在拆分的活动区域中旋转“隐藏”窗口。
用tmux表示,拆分将一个窗口划分为一个或多个窗格。拆分窗口的每个部分都是一个单独的窗格,窗格不会被隐藏(如果一个窗口被选中(可见),其所有窗格也都将被隐藏),并且窗格只能在一个窗口的单个拆分中使用(窗格可以不能位于多个窗口中,并且不能位于同一窗口的多个拆分中)。有一些命令可在窗口中(或窗口之间)移动窗格,但移动方式与next
in屏幕不同。
您可以使用如下所示的绑定来安排类似的效果:
bind-key C-n swap-pane -s :+.top \; rotate-window -Ut :+
您可能希望将其放入~/.tmux.conf
文件中,但是可以在Prefix :将其绑定到当前服务器实例中之后键入/粘贴它。
要使用绑定,请选择“主窗口”,将其拆分,在“主窗口”之后立即创建一个“窗格容器”窗口,然后使用绑定在“主窗口”中的组之间旋转“主窗口”中的任何窗格。窗格容器”窗口。
这是创建设置的方法:
选择一个窗口用作“主窗口”。在其中启动(例如)Vim。
将“主窗口”划分为两个窗格。
例如Prefix "(:split-window
)
您可以将此窗格用作测试窗口(或日志查看器,或其他)。
在主窗口之后立即创建一个新窗口(“窗格容器”)。
例如Prefix c(:new-window
)
重要的是,其他任何窗口都不能进入“主窗口”和“窗格容器”窗口的索引之间(+
在绑定命令中使用的窗口说明符表示“下一个编号较高的窗口”)。
将该窗口分为多个窗格。要在三个窗格之间旋转,请将此窗口分为两个窗格(第三个窗格是“主窗口”中的一个)。
也许您需要一个用于git的外壳,以及一个用于运行数据库接口的外壳。将它们放在此“窗格容器”窗口中的单独窗格中。
切换回您的“主窗口”。选择您要“旋转”的窗格。
您可以使用Prefix Up/ Down/ Left/Right在窗格之间移动。
调用绑定以将当前窗格与“窗格容器”窗口中的第一个窗格交换,然后(在“幕后”)旋转“窗格容器”窗口中的窗格(以便下次运行绑定时,第一个命令与序列中的“下一个”窗格交换)。
Prefix Control- n(绑定使用Cn,但是您可以将其更改为所需的任何值)。
要向后滚动窗格,可以使用以下命令:
绑定键Cp交换窗格-s:+。bottom \; 旋转窗口-Dt:+
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句