- Tmux 即 Terminal Multiplexer,是一个强大的终端复用器,可以在一个终端窗口中运行多个终端会话。
- 本文主要根据个人工作中常用的 Tmux 应用场景进行相关指令和快捷键的总结。
Tmux 基础
Tmux与进程
- 在 Tmux 中,一个
会话(session)是一个独立的工作环境,包含一组窗口。
Tmux 中的基本单位,每个窗口都可以包含一个或多个窗格。1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| - ```窗格(pane)```是窗口中的一个区域,每个窗格都运行一个 shell 进程。

### Tmux的作用
- **多任务处理**:Tmux 允许在一个终端窗口中打开多个会话,每个会话都可以包含多个窗口,每个窗口都可以包含多个窗格。这使得开发者可以在一个地方同时进行多个任务。
- **持久会话**:即使 SSH 连接断开,Tmux 会话仍然会保持运行,可以重新连接到 Tmux 会话,继续运行工作。
- **窗口管理**:Tmux 提供了许多窗口管理功能,如窗口分割、窗口切换、窗口重命名等。
- **脚本自动化**:可以使用 Tmux 脚本来自动化工作流程,例如,自动创建多个窗口和窗格,运行特定的命令等。
- **团队协作**:Tmux 支持会话共享,这意味着多个用户可以同时查看和操作同一个 Tmux 会话,这对于远程团队协作非常有用。
### Tmux的安装
Tmux 可以在大多数的 Linux 发行版和 macOS 中通过包管理器安装。
```Shell # Ubuntu 或 Debian $ sudo apt-get install tmux
# CentOS 或 Fedora $ sudo yum install tmux
# Mac $ brew install tmux
|
基本命令
启动与退出
| Command |
Description |
tmux |
启动一个新的 Tmux 会话 |
exit |
退出 Tmux 会话窗口 |
会话管理
| Command |
Description |
Quick |
tmux list-sessions |
查看所有会话 |
Ctrl+b s |
tmux rename-session -t old-session session-name |
重命名会话 |
Ctrl+b $ |
tmux new -s session-name |
新建会话 |
|
tmux attach -t session-name |
接入会话 |
|
tmux switch -t session-name |
切换会话 |
Ctrl+b l |
tmux detach -t session-name |
分离会话 |
Ctrl+b d |
tmux kill-session -t session-name |
结束会话 |
Ctrl+b & |
窗格管理
| Command |
Description |
Quick |
tmux split-window |
划分上下两个窗格 |
Ctrl+b " |
tmux split-window -h |
划分左右两个窗格 |
Ctrl+b % |
tmux swap-pane -U |
当前窗格上移 |
Ctrl+b { |
tmux swap-pane -U |
当前窗格下移 |
Ctrl+b } |
tmux select-pane -U |
光标切换到上方窗格 |
Ctrl+b ↑ |
tmux select-pane -D |
光标切换到下方窗格 |
Ctrl+b ↓ |
tmux select-pane -L |
光标切换到左方窗格 |
Ctrl+b ← |
tmux select-pane -R |
光标切换到右方窗格 |
Ctrl+b → |
tmux kill-pane |
关闭当前窗格 |
Ctrl+b x |
tmux break-pane |
将当前窗格拆分为独立窗口 |
Ctrl+b ! |
tmux resize-pane -Z |
当前窗格全屏显示 |
Ctrl+b z |
tmux resize-pane -U |
向上调整窗格大小 |
Ctrl+b Ctrl+↑ |
tmux resize-pane -D |
向下调整窗格大小 |
Ctrl+b Ctrl+↓ |
tmux resize-pane -L |
向左调整窗格大小 |
Ctrl+b Ctrl+← |
tmux resize-pane -R |
向右调整窗格大小 |
Ctrl+b Ctrl+→ |
tmux display-panes |
显示窗格编号 |
Ctrl+b q |
窗口管理
| Command |
Description |
Quick |
tmux new-window -n window-name |
创建一个新窗口 |
Ctrl+b c |
tmux previous-window |
切换到上一个窗口 |
Ctrl+b p |
tmux next-window |
切换到下一个窗口 |
Ctrl+b n |
tmux select-window -t :0 |
切换到指定编号的窗口 |
Ctrl+b <number> |
tmux choose-window |
从列表中选择窗口 |
Ctrl+b w |
tmux rename-window |
窗口重命名 |
Ctrl+b , |
自定义配置
其他命令
| Command |
Description |
tmux list-keys |
列出所有快捷键及其对应的 Tmux 命令 |
tmux list-commands |
列出所有 Tmux 命令及其参数 |
tmux info |
列出当前所有 Tmux 会话的信息 |
tmux source-file ~/.tmux.conf |
重新加载当前的 Tmux 配置 |
参考资料
Tmux 使用教程 - 阮一峰的网络日志
A Quick and Easy Guide to tmux - Ham Vocke