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

相关阅读

Tmuxhttps://blog.csdn.net/weixin_45791458/category_12472796.html?spm=1001.2014.3001.5482


在之前的两篇文章中,已经给出了关于tmux中会话和窗口相关的常用命令,在这篇文章中,窗格相关的命令将会被给出。

将一个窗格水平和垂直分成两个窗格是很有用(当只有窗口中没有窗格时,这个窗口可以被看做一个大的窗格),相关的命令如下所示。

复制代码
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+:进入命令模式

下图所示为使用命令水平分割的结果,其中左侧为原窗格,右侧为新窗格。

下图所示为在上面的基础下,对右边的窗格使用命令垂直分割的结果,其中上侧为原窗格,下侧为新窗格。

在介绍下一个命令前,我们需要知道窗格的命名方式:一个窗口内的窗格使用一个编号来区分彼此,编号顺序为从上至下,从左至右从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内部使用,删除当前窗格

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

相关推荐
teacher伟大光荣且正确1 小时前
Linux 下编译openssl
linux·运维·服务器
yz17800414101 小时前
window pdf文件批量转高清图片png、jpg
pdf·bash
dlz08361 小时前
--group-start/--group-end 能不能解决 OpenSSL 1.0 vs 1.1 的优先级问题?
linux·运维·服务器·软件需求
小池先生2 小时前
activemq延迟消息变成实时收到了?
linux·数据库·activemq
tryCbest3 小时前
Linux系统下安装使用Redis
linux·运维·redis
AuroBreeze4 小时前
xv6-2023 - primes Lab
linux·运维·服务器
DIY机器人工房4 小时前
NAT 模式、命令行版、桥接模式方式给ubuntu虚拟机配网步骤:
linux·网络协议·ubuntu·嵌入式·桥接模式·diy机器人工房
wdfk_prog5 小时前
[Linux]学习笔记系列 -- lib/sort.c 通用的排序库(Generic Sorting Library) 为内核提供标准的、高效的排序功能
linux·运维·c语言·笔记·stm32·学习·bug
黑马金牌编程5 小时前
简易分析慢 SQL 的流程和方法
linux·数据库·mysql·性能优化·性能分析·慢日志
什么半岛铁盒6 小时前
C++项目:仿muduo库高并发服务器---------LoopThreadPool模块和TcpServer模块的实现
linux·服务器·c++·mysql·ubuntu