tmux(Terminal Multiplexer)是一个终端复用工具,它允许你在单个终端窗口中创建多个虚拟终端会话,并能保持这些会话在后台运行。与直接使用终端相比,tmux 提供了更强大的会话管理功能。

安装Tmux

1
2
3
4
5
6
7
8
# Ubuntu/Debian
sudo apt-get install tmux

# CentOS/RHEL
sudo yum install tmux

# macOS (使用 Homebrew)
brew install tmux

理解 Tmux 的三层关系

  1. 会话:一个独立的后台工作区。你关掉终端窗口,里面的程序继续运行
  2. 窗口:会话里的不同标签页,相当于浏览器里打开了多个网页。
  3. 窗格:一个窗口内分割出来的小屏幕,方便你同时看日志、写代码、跑命令。

示例:

1
2
3
4
5
6
会话: 我的项目A
├── 窗口1: 代码编辑器
│ ├── 窗格1: Vim 写代码
│ └── 窗格2: 运行测试脚本
└── 窗口2: 系统监控
└── 窗格1: htop 看性能

Tmux 快捷键

Tmux 的所有命令都需要先按一个前缀键来唤醒,系统才知道你在命令 Tmux,而不是在打字。

默认前缀键:Ctrl + b

1. 会话管理

操作 快捷键 / 命令 说明
新建会话 tmux new -s 名字 给会话起个名,方便找回
脱离会话 Ctrl + b + d 程序后台运行,窗口随便关
查看会话列表 tmux ls 终端里直接敲,不用进 Tmux
重新接入 tmux attach -t 名字 回到刚才的工作现场
1
2
3
4
5
6
# 杀死会话
# 使用会话编号
$ tmux kill-session -t 0

# 使用会话名称
$ tmux kill-session -t <session-name>

2. 窗口管理

操作 快捷键 记忆技巧
新建窗口 Ctrl + b + c Create
切换下一个窗口 Ctrl + b + n Next
切换上一个窗口 Ctrl + b + p Previous
显示窗口列表 Ctrl + b + w Windows(可视化选择)
关闭当前窗口 exitCtrl + d 窗格/窗口内没有程序就关了

3. 窗格管理

操作 快捷键 记忆技巧
左右分屏 Ctrl + b + % 像一个百分比竖线 `
上下分屏 Ctrl + b + " 像一个双引号横线
切换光标 Ctrl + b + 方向键 上下左右移动焦点
关闭当前窗格 exitCtrl + d
最大化/还原窗格 Ctrl + b + z Zoom,再按一次还原

Tmux 配置文件

1
2
3
4
5
# 编辑配置文件,设置 Tmux 一直支持鼠标操作
vim ~/.tmux.conf

# 在配置文件中添加以下配置
set -g mouse on

在已经打开的Tmux会话中需要输入以下命令才会生效,之后打开的Tmux会话自动生效

1
2
1. 按 Ctrl+b :
2. 在底部出现的命令栏中输入source-file ~/.tmux.conf,然后按回车即可