tmux 常用命令总结:从入门到稳定使用的一篇实战博客
这篇文章不是"命令大全",而是基于真实使用场景,总结 tmux 在日常开发中的高频用法与坑位。适合刚开始用 tmux、以及"会用但不顺"的阶段。
一、为什么你应该用 tmux
如果你有以下任何一种情况,tmux 都非常值得:
- 经常 SSH 到服务器
- 需要同时跑服务、看日志、敲命令
- 网络不稳定,但任务不能中断
- 不想开一堆终端窗口
一句话概括 tmux:
tmux 是一个可以"保存现场"的终端管理器
二、tmux 的三个核心概念(必须搞清)
session → 项目 / 工作区
window → 功能区(类似 Tab)
pane → 分屏
- session :一个项目,比如
dev - window:不同工作内容,如 claude / server / logs
- pane:同一窗口内的并行视图
新手常见错误:
- 一个 session 里堆一堆 pane
- Claude / 服务 / 日志 全混在一起
三、最基础的 session 命令
bash
tmux # 新建并进入一个 session
tmux new -s jw-dev # 创建并命名 session
tmux ls # 查看所有 session
tmux attach -t jw-dev # 进入指定 session
tmux detach # 脱离 session(不中断程序)
tmux kill-session -t jw-dev
快捷键(在 tmux 内):
text
Ctrl + b d # detach
四、window:真正的工作分区
常用快捷键
text
Ctrl+b c 新建 window
Ctrl+b n 下一个 window
Ctrl+b p 上一个 window
Ctrl+b w window 列表(最常用)
Ctrl+b , 重命名 window
Ctrl+b & 关闭 window
经验建议:
- 一个 window 只做一类事情
- Claude / Server / Logs 强烈建议分 window
五、pane:效率来源
创建 pane
text
Ctrl+b % 左右分屏
Ctrl+b " 上下分屏
pane 操作
text
Ctrl+b o 切换 pane
Ctrl+b ↑↓←→ 按方向切换
Ctrl+b x 关闭 pane
Ctrl+b z 放大 / 还原 pane(非常好用)
Ctrl+b Space 切换布局
六、滚动与复制:tmux 的高频痛点
进入滚动模式(非全屏程序)
text
Ctrl+b [
在 copy-mode(vi 模式)中:
j / k:上下滚动/:搜索Space:开始选择Enter:复制Ctrl+b ]:粘贴
七、mouse on 后的真实行为(很多人踩坑)
推荐配置
conf
set -g mouse on
set -g history-limit 50000
setw -g mode-keys vi
set -s escape-time 10
常见疑问:
鼠标能滚了,但拖选文字一松手就没了?
这是 tmux 的正常行为:
- 鼠标事件已被 tmux 接管
- 高亮只是"选择过程",不是系统选中
正确的复制方式
-
系统复制(最推荐)
textShift + 鼠标拖动然后使用
Cmd+C / Ctrl+C -
tmux 内部复制
- 鼠标拖选 → 松手
Ctrl+b ]粘贴
记住一句话: 要系统复制,就按 Shift
八、Claude Code / Vim / htop 滚不动?不是你的问题
关键结论
tmux 无法滚动 全屏 TUI 程序的历史输出
原因:
- TUI 使用 alternate screen
- 输出不会进入 tmux scrollback
正确使用方式
-
Claude Code 单独一个 window
-
日志输出:
- 单独 pane
- 或 redirect 到文件,用
less / tail -f
不要强行"让 tmux 滚 TUI"
九、一个稳定可用的 tmux 布局示例
session: jw-dev
window 0: claude
└─ Claude Code
window 1: server
├─ 启动服务
└─ tail -f 日志
window 2: shell
└─ git / 临时命令
这个结构的好处是:
- 不互相干扰
- tmux 的滚动能力用在该用的地方
十、最小 tmux.conf(新手友好)
conf
set -g mouse on
set -g history-limit 50000
setw -g mode-keys vi
set -s escape-time 10
加载配置:
bash
tmux source ~/.tmux.conf
结语
tmux 并不难,难的是:
- 一开始没人告诉你 该怎么分 window / pane
- TUI + mouse 的行为很反直觉
一旦理解这些原则:
tmux 负责会话和日志,TUI 负责交互,复制用 Shift
你会发现 tmux 会变成一个非常稳定、值得长期投入肌肉记忆的工具。
如果你已经看到这里,说明你已经超过 80% 的 tmux 用户了 🙂