终端分屏tmux
分屏效果
tmux并不是一个类似bash的终端,而是管理在管理会话,使用tmux后,其他配置还是和bash或zsh一样。
效果如图:
安装tmux
在centOS中,安装tmux只需要一句话
yum install tmux
等待片刻即可安装完成,安装完后,使用的依然是默认的bash或自己配置的zsh。执行下一步的打开窗口后,才可以进行分屏,多窗口等操作。
打开一个新的会话,使用命令
tmux
即可打开一个新的会话,在打开的tmux创建的窗口的时候,才可以分屏,多个窗口等操作。
在博客园看到这样一张图片,对tmux解释的很详细
用tmux可以新建多个窗口,每次只能显示一个窗口,新建的其他窗口进入后台,看不见,但却存在。
一个窗口中可以分割出多个窗格,多个窗格显示在同一个窗口,这就是常见的分屏。
tmux的基本命令
在bash或zsh中输入tmux打开新的会话。可以配置在bash后zsh的配置文件中,启动bash自动运行tmux命令
默认前缀ctrl+b(命令中替换prefix)
tmux中,使用分割窗格等需要使用快捷键。使用每个快捷键前,会先键入前缀, 使得tmux开始监听后面的命令。没有键入前缀,直接使用命令是不会触发tmux。
目前经常使用:
会话:每次断开连接没有关闭tmux,再次连接的时候,运行tmux命令会新建一个会话。当进入bash后,使用tmux ls可以查看后台未关闭的会话。进入会话后,可以使用快捷键,列出存在的会话。
会话命令 | 作用 |
---|---|
tmux ls | 显示所有的会话 |
tmux kill-session -t s1 | 关闭会话s1 |
tmux kill-session -a -t s1 | 关闭除s1外的所有会话 |
tmux kill-server | 关闭所有会话 |
prefix s | 在会话中,列出会话,可进行切换 |
窗格:每个窗口可以显示多个窗格
窗格命令 | 作用 |
---|---|
prefix % | 水平方向创建窗格 |
prefix " | 垂直方向创建窗格 |
prefix Up,Down,Left,Right | 根据箭头方向切换窗格 |
prefix }\{ | 与下\上一个窗格交换位置 |
prefix x | 关闭当前窗格 |
prefix space(空格键) | 重新排列当前窗口下的所有窗格 |
窗口:每个会话,可以包含多个窗口。
窗口命令 | 作用 |
---|---|
prefix c | 创建一个新窗口 |
prefix w | 列出所有窗口,可进行切换 |
prefix n\p | 进入下\上一个窗口 |
prefix 0~9 | 选择编号0~9对应的窗口 |
prefix & | 关闭当前窗口 |
窗格管理**
prefix % 水平方向创建窗格
prefix " 垂直方向创建窗格
prefix Up|Down|Left|Right 根据箭头方向切换窗格
prefix q 显示窗格编号
prefix o 顺时针切换窗格
prefix } 与下一个窗格交换位置
prefix { 与上一个窗格交换位置
prefix x 关闭当前窗格
prefix space(空格键) 重新排列当前窗口下的所有窗格
prefix ! 将当前窗格置于新窗口
prefix Ctrl+o 逆时针旋转当前窗口的窗格
prefix t 在当前窗格显示时间
prefix z 放大当前窗格(再次按下将还原)
prefix i 显示当前窗格信息
会话管理
*常用命令*
tmux new 创建默认名称的会话(在tmux命令模式使用new命令可实现同样的功能,其他命令同理,后文不再列出tmux终端命令)
tmux new -s mysession 创建名为mysession的会话
tmux ls 显示会话列表
tmux a 连接上一个会话
tmux a -t mysession 连接指定会话
tmux rename -t s1 s2 重命名会话s1为s2
tmux kill-session 关闭上次打开的会话
tmux kill-session -t s1 关闭会话s1
tmux kill-session -a -t s1 关闭除s1外的所有会话
tmux kill-server 关闭所有会话
常用快捷键
prefix s 列出会话,可进行切换
prefix $ 重命名会话
prefix d 分离当前会话
prefix D 分离指定会话
窗口管理
prefix c 创建一个新窗口
prefix , 重命名当前窗口
prefix w 列出所有窗口,可进行切换
prefix n 进入下一个窗口
prefix p 进入上一个窗口
prefix l 进入之前操作的窗口
prefix 0~9 选择编号0~9对应的窗口
prefix . 修改当前窗口索引编号
prefix ' 切换至指定编号(可大于9)的窗口
prefix f 根据显示的内容搜索窗格
prefix & 关闭当前窗口
其他命令
tmux list-key 列出所有绑定的键,等同于prefix ?
tmux list-command 列出所有命令
zsh的安装和配置可以参考 https://www.cnblogs.com/to-red/p/11580160.html
centOS安装zsh时,使用命令
yum install zsh
Ubuntu安装zsh时,使用命令
apt-get install zsh
如果需要在每次连接时候,都启动一个新的tmux
可以在zsh的配置文件/.zshrc或bash的/.bashrc配置文件的最后一行加上启动tmux的命令(使用的是哪个终端,编辑哪个终端的配置文件,查看自己使用的终端的命令echo $SHELL)
例如
# Example aliases
# alias zshconfig="mate ~/.zshrc"
# alias ohmyzsh="mate ~/.oh-my-zsh"
tmux
如果需要在每次连接时候,都打开上次断开连接前的tmux
在zsh/bash的配置文件中的最后,添加一行命令
# Example aliases
# alias zshconfig="mate ~/.zshrc"
# alias ohmyzsh="mate ~/.oh-my-zsh"
tmux a