
1. 核心概念:套娃结构
Tmux 的结构分为三层,理解这个就不会迷路:
- Session (会话):最高层级。对应一个“项目”或“任务”。
- 场景:你可以有一个叫
work的会话跑公司代码,一个叫blog的会话维护个人博客。断开 SSH 后,Session 依然在后台存活。
- Window (窗口):中间层级。相当于浏览器的“标签页”。
- 场景:在一个 Session 里,Window 1 跑 Claude Code,Window 2 跑 git 命令,Window 3 看日志。
- Pane (窗格):最底层。相当于一个屏幕被切分成几块。
- 场景:左边大屏跑 Claude Code,右边小屏实时看
top监控性能。
2. Cheat Sheet
所有快捷键都需要先按 前缀键 (Prefix),默认是 Ctrl + b。
(操作方式:按下 Ctrl 和 b,松开,然后按具体功能键)
A. 会话管理 (最常用)
| 命令 | 作用 | 备注 |
|---|---|---|
tmux new -s <name> |
新建带名字的会话 | 强烈推荐,不要直接敲 tmux |
tmux a -t <name> |
重连 (Attach) 会话 | 回家继续工作的核心命令 |
tmux ls |
列出所有后台会话 | 看看有哪些活着的会话 |
Prefix + d |
剥离 (Detach) | 暂时离开,程序后台继续跑 |
Prefix + s |
交互式选择会话 | 弹出一个列表让你选,很直观 |
B. 窗格 (分屏) 操作
| 快捷键 (Prefix +) | 作用 | 记忆法 |
|---|---|---|
% (Shift+5) |
左右切分 | 看起来像把屏幕切两半 |
" (Shift+') |
上下切分 | 引号像一上一下 |
方向键 |
在窗格间移动光标 | |
z |
最大化/还原当前窗格 | 神器。想专注写代码时按一下,写完再按一下还原 |
x |
关闭当前窗格 | 会询问 y/n |
C. 窗口 (标签页) 操作
| 快捷键 (Prefix +) | 作用 |
|---|---|
c |
新建窗口 (Create) |
n / p |
切换到 下一个/上一个 窗口 (Next/Prev) |
w |
图形化选择窗口 (像 Exposé) |
, |
重命名当前窗口 (方便记忆) |
D. 滚动与复制
因为你开启了 set -g mouse on:
- 滚动: 直接用鼠标滚轮即可。
- 复制:
- Tmux 内部复制: 鼠标左键拖动选中(会自动复制到 tmux 剪贴板)。
- 系统级复制 (macOS): 按住
Option (Alt)键,然后用鼠标选中,直接Cmd+C。
3. 最佳实践 (Best Practices)
1. 永远给 Session 起名字
- ❌ 坏习惯:直接输入
tmux。你会得到session 0,session 1,过两天你就不知道哪个里面跑着 Claude Code 了。 - ✅ 好习惯:
|
|
2. 利用好“临时最大化” (Prefix + z)
不要手动去拖动调整分屏的大小,太慢了。
- 场景:你在一个小窗格里看日志,突然报错了一大堆。
- 操作:按
Prefix + z全屏看,看完再按Prefix + z缩回去。
3. 嵌套使用的原则
尽量避免“在 tmux 里再开一个 tmux”(Inception 模式),那会非常痛苦(按键冲突)。
- 如果你 ssh 到跳板机,再从跳板机 ssh 到目标机器。建议只在最终的目标机器上运行 tmux。
4. 结合 Claude Code 的工作流
由于 Claude Code 是交互式的,建议这样布局:
-
Window 1 (“Code”):
-
左侧大窗格 (70%):运行
claude。 -
右侧小窗格 (30%):运行
git status或简单的 shell 命令,方便随时看状态。 -
Window 2 (“Server”):
-
运行项目主进程(如
npm run dev或python app.py),看实时日志。
总结
- SSH 上去。
tmux new -s work。- 开始用
Claude Code搬砖。 - 想分屏看日志?
Ctrl+b然后%。 - 下班了?
Ctrl+b然后d。 - 回家?
tmux a -t work。