tmux是一款非常好用的终端复用工具,除了可以同时分屏显示多个窗口,还可以保存自己习惯的工作环境,即使突然断网或者关机导致连接断开,恢复连接后也可以迅速回到上次的工作状态,非常方便。
一、安装(Ubuntu或Debian)
sudo apt-get update
sudo apt-get install tmux
安装完成后使用tmux
命令,就可以进入tmux的默认会话和窗口
二、认识前缀键
默认的前缀键是Ctrl+b,用来触发tmux的各种功能和命令,是使用tmux的基础。需要先依次按下Ctrl键和b键,然后按下对应命令键。比如:
- Ctrl + b -> d:退出
- Ctrl + b -> c:创建一个新的窗口
- Ctrl + b -> %:将当前的窗格水平分割成两个
三、了解会话、窗口、窗格
同一时间可以显示某个会话的某个窗口的多个窗格,它们可以理解为以下的层次结构:
- 会话 session:一个tmux的实例,可以包含多个窗口,可以在后台运行并随时恢复
- 窗口 window:一个tmux的视图,可以包含多个窗格,可以在一个会话中切换
- 窗格:一个tmux的子视图,显示一个终端,可以在一个窗口中分割,可以自由调整大小和位置
通过下面的图示可以更直观的理解:
可以看到,每个tmux的会话都可以包含多个窗口,每个窗口都可以包含多个窗格,每个窗格都可以显示一个终端。你可以他们之间自由切换、复制和粘贴内容。
四、管理会话和窗口
注:前缀键必须在tmux会话中才生效,终端输入的方式可以随时使用
- 退出会话
- 终端输入
tmux detach
- 或前缀键 + d
- 终端输入
- 列出所有会话
- 终端输入
tmux ls
- 或前缀键 + s,可以通过方向键预览所有会话,并通过Enter切换
- 终端输入
- 新建会话
tmux new -s <name>
- 进入会话
tmux attach-session -t <name>
- 或者简写为
tmux a -t <name>
- 重命名会话
tmux rename-session -t <name> <new-name>
- 或前缀键 + $
- 删除会话(谨慎使用)
tmux kill-session -t <name>
- 或者在会话的终端输入
exit
- 删除所有会话(谨慎使用)
tmux kill-server
- 操作窗口的常用按键,全部基于前缀键,终端输入的对应命令可以自行了解
- c:创建新窗口
- n:切换到下一个窗口
- p:切换到上一个窗口
- w:通过窗口列表切换窗口
- &:关闭并杀死当前窗口
- ,:重命名当前窗口
- f:查找窗口,可模糊搜索
- 0~9:切换到对应数字号的窗口
五、设置窗格实现分屏
- 一些基于前缀键的常用按键
- %:水平划分窗格
- ":垂直划分窗格
- o:切换到下一个窗格,也可以使用方向键
- ;:切换到上一个窗格,也可以使用方向键
- x:关闭当前窗格
- z:最大化当前窗格,再按一次恢复
- {:向左交换窗格
- }:向右交换窗格
- 空格键:切换为tmux内置的窗格布局
- !:在新窗口中显示当前窗格
- Ctrl+方向键:以1个单元格为单位调整窗格的大小
- Alt+方向键:以5个单元格为单位调整窗格的大小
- 通过鼠标调整窗格大小
- 在 tmux 的配置文件(~/.tmux.conf)中添加以下一行,没有配置文件新建一个即可:
set -g mouse on
- 执行下面命令让配置生效:
tmux source-file ~/.tmux.conf
- 进入窗格,就可以用鼠标拖动窗格边界来调整大小了
- 在 tmux 的配置文件(~/.tmux.conf)中添加以下一行,没有配置文件新建一个即可:
- 如果想在tmux中把内容复制出来,要按住shift再拖动左键