Tmux:终端复用器的基本使用(三)

张开发
2026/4/16 17:35:53 15 分钟阅读

分享文章

Tmux:终端复用器的基本使用(三)
相关阅读Tmuxhttps://blog.csdn.net/weixin_45791458/category_12472796.html?spm1001.2014.3001.5482在前两篇文章中已经介绍了tmux中会话(session)和窗口(window)的常用命令。这一篇则继续介绍tmux的另一个核心概念窗格(pane)。如果说会话用于组织不同的工作空间窗口用于划分不同的任务页面那么窗格就是在同一个窗口中进一步拆分终端区域的工具。借助窗格用户可以在同一窗口内同时查看和操作多个终端界面这在查看日志、运行程序、编辑代码或监控多个任务时都非常方便。当一个窗口中还没有进行分割时这个窗口本身就可以看作一个独立的大窗格。相关的命令如下所示tmux split-window -h //在tmux内部使用将当前窗格水平分割在tmux外部使用将最后进入的窗格水平分割 tmux split-window -t pane_number -h //在tmux内部使用将指定窗格水平分割在tmux外部使用将最后进入窗口中的的窗格水平分割 [ctrl]b% //在tmux内部使用将当前窗格水平分割 :split-window -h //在tmux内部使用[ctrl]b:进入命令模式 tmux split-window -v //在tmux内部使用将当前窗格垂直分割在tmux外部使用将最后进入的窗格垂直分割 tmux split-window -t pane_number -v //在tmux内部使用将指定窗格垂直分割在tmux外部使用将最后进入窗口中的的窗格垂直分割 [ctrl]b //在tmux内部使用将当前窗格垂直分割 :split-window -v //在tmux内部使用[ctrl]b:进入命令模式下图所示为使用命令水平分割的结果其中左侧为原窗格右侧为新窗格。下图所示为在上面的基础下对右边的窗格使用命令垂直分割的结果其中上侧为原窗格下侧为新窗格。在介绍更多操作前需要先了解tmux中窗格的编号规则。一个窗口中的不同窗格会使用编号来进行区分。窗格编号通常按照从上到下、从左到右的顺序排列并且从1开始递增。需要注意的是这个编号并不是固定不变的而是动态调整的一旦有新的窗格被创建或者原有窗格被删除其他窗格的编号也可能随之变化。如果想查看当前窗口中各个窗格的编号可以使用下面的快捷键[ctrl]bq //在tmux内部使用下面是一个较为复杂窗格布局的编号信息其中红色标出的编号表示当前选中的窗格。有时候需要交换两个窗格的位置注意这里的交换指的是布局不变而对应编号的两个窗格交换位置就好像是两个窗格交换了位置和编号一样下面的命令可以完成这个操作。[ctrl]b{ //在tmux内部使用交换当前窗格和前一个编号窗格的位置 [ctrl]b} //在tmux内部使用交换当前窗格和后一个编号窗格的位置下面显示了在3窗格中使用命令交换了其与4窗格的位置同时它的编号也变为了4。使用下面的命令可以调整窗格为默认的布局下面列出了两种布局水平和垂直布局但需要注意的是不论如何调整这些默认布局都保证了窗格编号和窗格的对应关系不改变。[ctrl]b[sapce] //在tmux内部使用在多个窗格之间切换可以使用多个可供选择命令如下所示注意当前选中的窗格是用绿线包围的。[ctrl]bo //在tmux内部使用切换到下一个编号的窗格 [ctrl]b上、下、左、右方向键 //在tmux内部使用根据位置切换窗格 [ctrl]bq[0-9] //在tmux内部使用根据编号切换窗格如果窗格太多的话可能会出现某个窗格太小而无法完整显示终端信息的情况那么就可能会需要将窗格全屏或更改其大小使用下面的命令可以更改窗格大小或全屏窗格不改变其编号。[ctrl]b[ctrl]上、下、左、右方向键 //在tmux内部使用调整窗格大小 [ctrl]bz //在tmux内部使用全屏当前窗格再次使用退出全屏下图显示了全屏显示4窗格的效果。当不需要窗格时可以使用下面的命令删除窗格当一个窗口内没有窗格或者说它自己就是唯一的窗格如果删除这个窗格则会导致窗口被删除换句话说窗格是依附于窗口存在的当窗口中没有任何窗格时窗口自然也就不存在了$tmux kill-pane [-a] [-t target-pane] //在tmux内部使用删除当前窗格如果指定了-t删除指定编号的窗格如果制定了-a删除除了指定窗格外的所有窗格。在tmux外部使用所有操作对应最后一次进入的窗口和窗格而言。 [ctrl]bx //在tmux内部使用删除当前窗格下图显示了删除窗格的效果如果使用快捷键在删除窗格前会进行二次确认。相比只使用窗口窗格的优势在于它允许用户在同一个窗口中并排处理多个任务。例如左边写代码右边实时查看编译输出上面运行程序下面监视日志一个窗格连接远程服务器另一个窗格执行本地命令一个窗格查看文档另一个窗格进行实际操作。这种工作方式比频繁在多个窗口之间来回切换更加直观也更适合需要同时观察多个输出结果的场景。尤其是在服务器运维、调试程序或多任务开发时合理利用窗格往往能显著提高效率。

更多文章