Tmux 终端复用工具操作指南
💡 前置说明
- Tmux 默认前缀为
Ctrl+b- Tmux 层级结构:Session(会话) → Window(窗口) → Pane(窗格)。
📦 一、会话管理(Session)
常用命令(在外部 Shell 执行)
| 操作 | 命令 | 说明 |
|---|---|---|
| 启动 tmux | tmux |
创建并进入默认会话(编号 0) |
| 新建命名会话 | tmux new -s <session-name> |
推荐:用名称代替编号管理 |
| 查看会话列表 |
tmux ls 或 tmux list-sessions
|
显示所有后台会话 |
| 接入指定会话 | tmux attach -t <name/编号> |
重新连接已存在的会话 |
| 杀死指定会话 | tmux kill-session -t <name/编号> |
终止会话及其中所有进程 |
| 切换会话 | tmux switch -t <name/编号> |
在当前终端切换目标会话 |
| 重命名会话 | tmux rename-session -t <old> <new> |
修改会话名称 |
会话快捷键(在 tmux 内执行)
| 快捷键 | 功能 |
|---|---|
Ctrl+b d |
分离当前会话(退回外部 Shell,会话后台运行) |
Ctrl+b s |
列出所有会话,支持方向键选择切换 |
Ctrl+b $ |
重命名当前会话 |
🔁 最简工作流
tmux new -s my_work→ 2. 执行任务 → 3.Ctrl+b d分离 → 4. 下次tmux attach -t my_work恢复
🪟 二、窗口管理(Window)
常用命令
# 新建窗口
tmux new-window
tmux new-window -n <window-name> # 指定名称
# 切换窗口
tmux select-window -t <编号/名称>
# 重命名当前窗口
tmux rename-window <new-name>
窗口快捷键(前缀 Ctrl+b)
| 快捷键 | 功能 |
|---|---|
c |
新建窗口(自动递增编号) |
p / n
|
切换上一个 / 下一个窗口 |
<0-9> |
直接跳转对应编号窗口 |
w |
弹出窗口列表,支持方向键+Enter 选择 |
, |
重命名当前窗口(输入后 Enter 确认) |
& |
关闭当前窗口(需确认) |
🧩 三、窗格管理(Pane)
划分窗格
| 方式 | 命令(tmux 内) | 快捷键 |
|---|---|---|
| 上下分割 | tmux split-window |
Ctrl+b " |
| 左右分割 | tmux split-window -h |
Ctrl+b % |
切换与调整
| 操作 | 命令 | 快捷键 |
|---|---|---|
| 切换到上/下/左/右窗格 | tmux select-pane -U/D/L/R |
Ctrl+b ↑/↓/←/→ |
| 切换到上一个活跃窗格 | tmux select-pane -l |
Ctrl+b ; |
| 切换到下一个窗格 | — | Ctrl+b o |
| 当前窗格与上一个交换位置 | tmux swap-pane -U |
Ctrl+b { |
| 当前窗格与下一个交换位置 | tmux swap-pane -D |
Ctrl+b } |
| 关闭当前窗格 |
exit 或 Ctrl+d
|
Ctrl+b x |
| 当前窗格全屏/还原 | — | Ctrl+b z |
| 按方向调整窗格大小 | — |
Ctrl+b Ctrl+↑/↓/←/→ 或 Alt+↑/↓/←/→
|
| 显示窗格编号(快速定位) | — | Ctrl+b q |
| 当前窗格拆分为独立窗口 | — | Ctrl+b ! |
📜 四、视图与辅助操作
| 功能 | 操作方式 |
|---|---|
| 进入滚动模式(查看历史输出) |
Ctrl+b [ → 用 ↑/↓ 或 PageUp/PageDown 翻页 → 按 q 或 Esc 退出 |
| 复制模式 |
Ctrl+b [ 进入后,按 Space 开始选区,Enter 复制,Ctrl+b ] 粘贴 |
| 显示所有快捷键 |
Ctrl+b ? → 按 q 退出帮助 |
| 启用鼠标支持(临时) |
Ctrl+b : 进入命令行,输入 set -g mouse on
|
| 重新加载配置 | tmux source-file ~/.tmux.conf |
⚠️ 五、关键注意事项
前缀键操作逻辑
Ctrl+b是组合前缀,需先按下并松开,再按功能键(如d、c),不是同时按住。-
命令执行环境
-
tmux new/attach/kill-session等命令仅在外部 Shell 有效 - tmux 内部操作应优先使用
Ctrl+b快捷键,而非重复调用tmux命令
-
-
退出逻辑
-
Ctrl+d或exit:关闭当前窗格;若为会话最后一个窗格,则终止整个会话 -
Ctrl+b d:仅分离会话,进程继续后台运行,可随时attach恢复
-
会话持久化优势
Tmux 核心价值:会话与终端解耦。即使 SSH 断连、本地关机,远程任务仍持续运行,重新连接后可完整恢复工作环境。
🔧 附:自定义配置建议(~/.tmux.conf)
# 修改前缀键为 Ctrl+a(可选,更符合 Screen 习惯)
unbind C-b
set-option -g prefix C-a
bind-key C-a send-prefix
# 启用鼠标支持(推荐)
set -g mouse on
# 状态栏显示在顶部
set -g status-position top
# 窗口编号从 1 开始(更符合直觉)
set -g base-index 1
setw -g pane-base-index 1
# 按 Alt+方向键调整窗格大小(部分终端需配置)
bind-key -n M-Left resize-pane -L 5
bind-key -n M-Right resize-pane -R 5
bind-key -n M-Up resize-pane -U 5
bind-key -n M-Down resize-pane -D 5
修改配置后执行:
tmux source-file ~/.tmux.conf生效