当前位置: 首页 > news >正文

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

相关阅读

Tmuxhttps://blog.csdn.net/weixin_45791458/category_12472796.html?spm=1001.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]+b+q //在tmux内部使用

下面是一个较为复杂窗格布局的编号信息,其中红色标出的编号表示当前选中的窗格。

有时候需要交换两个窗格的位置,注意,这里的交换指的是布局不变,而对应编号的两个窗格交换位置,就好像是两个窗格交换了位置和编号一样,下面的命令可以完成这个操作。

[ctrl]+b+{ //在tmux内部使用,交换当前窗格和前一个编号窗格的位置 [ctrl]+b+} //在tmux内部使用,交换当前窗格和后一个编号窗格的位置

下面显示了在3窗格中使用命令交换了其与4窗格的位置,同时它的编号也变为了4。

使用下面的命令可以调整窗格为默认的布局,下面列出了两种布局,水平和垂直布局,但需要注意的是,不论如何调整,这些默认布局都保证了窗格编号和窗格的对应关系不改变。

[ctrl]+b+[sapce] //在tmux内部使用

在多个窗格之间切换可以使用多个可供选择命令,如下所示,注意:当前选中的窗格是用绿线包围的。

[ctrl]+b+o //在tmux内部使用,切换到下一个编号的窗格 [ctrl]+b+上、下、左、右方向键 //在tmux内部使用,根据位置切换窗格 [ctrl]+b+q+[0-9] //在tmux内部使用,根据编号切换窗格

如果窗格太多的话,可能会出现某个窗格太小而无法完整显示终端信息的情况,那么就可能会需要将窗格全屏或更改其大小,使用下面的命令可以更改窗格大小或全屏窗格(不改变其编号)。

[ctrl]+b+[ctrl]+上、下、左、右方向键 //在tmux内部使用,调整窗格大小 [ctrl]+b+z //在tmux内部使用,全屏当前窗格,再次使用退出全屏

下图显示了全屏显示4窗格的效果。

当不需要窗格时,可以使用下面的命令删除窗格,当一个窗口内没有窗格(或者说它自己就是唯一的窗格,如果删除这个窗格,则会导致窗口被删除,换句话说,窗格是依附于窗口存在的,当窗口中没有任何窗格时,窗口自然也就不存在了)

$tmux kill-pane [-a] [-t target-pane] //在tmux内部使用,删除当前窗格,如果指定了-t,删除指定编号的窗格,如果制定了-a,删除除了指定窗格外的所有窗格。在tmux外部使用,所有操作对应最后一次进入的窗口和窗格而言。 [ctrl]+b+x //在tmux内部使用,删除当前窗格

下图显示了删除窗格的效果,如果使用快捷键,在删除窗格前会进行二次确认。

相比只使用窗口,窗格的优势在于:它允许用户在同一个窗口中并排处理多个任务。例如:

  • 左边写代码,右边实时查看编译输出;
  • 上面运行程序,下面监视日志;
  • 一个窗格连接远程服务器,另一个窗格执行本地命令;
  • 一个窗格查看文档,另一个窗格进行实际操作。

这种工作方式比频繁在多个窗口之间来回切换更加直观,也更适合需要同时观察多个输出结果的场景。尤其是在服务器运维、调试程序或多任务开发时,合理利用窗格往往能显著提高效率。

http://www.jsqmd.com/news/651206/

相关文章:

  • 如何解决Blender相机动画的僵硬感?Camera Shakify插件深度解析
  • PX4结合YOLO实现仿真环境下的动态目标检测
  • 手把手教你用Python实现简易视线追踪系统(基于MPIIGaze数据集)
  • WechatBakTool:微信聊天记录备份恢复的终极解决方案
  • 最新感知算法论文分析:RaCFormer 如何提升雷达相机 3D 目标检测性能?
  • 从数据到发现:如何利用Materials Project数据库加速你的新材料研究?
  • Innovus实战:从Tap Cell到Spare Cell,手把手教你搞定数字后端那些‘不起眼’的物理单元
  • 如何使用Poem框架MCP服务器构建高效AI工具集成平台
  • STM32 HAL库实战:1.3寸OLED屏驱动全解析(附软件IIC避坑指南)
  • Android数据管理终极教程:Coursera-android教你5种存储方案
  • 从一次通话失败说起:深入排查CSFB信令中的那些‘隐藏’配置项(附参数详解)
  • 如何永久保存微信聊天记录:WeChatMsg完整备份指南让你的珍贵记忆永不丢失
  • 三步解锁QQ音乐加密音频:qmcdump让你的音乐随处可听
  • 深入解析PowerPC P2040的启动机制与DPAA架构优化
  • 告别Keil破解!用STM32CubeIDE + HAL库点亮你的第一颗LED(STM32F103C8T6保姆级教程)
  • ESP32开发实战:Vscode+PlatformIO与Arduino第三方库管理机制深度对比
  • 融合混沌初始化与自适应权重的PSO算法在机械臂时间最优轨迹规划中的应用
  • 告别版本冲突:基于Python3.9虚拟环境精准部署numpy、tensorflow与matplotlib兼容组合
  • 【STM32H743IIT6】引脚复用全解析:从数据手册图表到实战配置
  • 【ADRC自适应模糊控制】移动机器人轨迹跟踪 MATLAB源码
  • OpenIPC固件在君正T31ZX平台上的烧录问题深度解析
  • 【2026年最新600套毕设项目分享】智慧旅游平台开发微信小程序(30073)
  • 信捷XD六轴标准程序拆解实录
  • faer与Eigen性能对比:Rust线性代数库的基准测试分析
  • Node TAP 解析器原理剖析:理解TAP格式的核心机制
  • 终极Inspira UI性能优化指南:10个提升组件加载速度的实用技巧
  • 5分钟搞定网易云音乐无损下载:netease-cloud-music-dl让你的音乐库永久保存
  • 解密OpenCL SDK:异构计算的跨平台性能引擎
  • YimMenu:终极GTA5辅助工具完整使用指南与安全防护教程
  • Laravel LogViewer 安全配置详解:保护你的应用日志数据