很多人刚开始用 Linux、WSL、远程服务器,都会有一个共同痛点:
- 终端一关,任务没了
- 一个窗口里来回切命令,很乱
- 跑着程序的时候不敢断开连接
- 想同时看日志、代码、命令输出,手忙脚乱
而 tmux 就是专门解决这些问题的。
它不算一个“花哨工具”,但几乎是你一旦用顺手,就很难再离开的那种基础设施。特别是现在很多人会在终端里跑 Claude Code、跑构建、跑脚本、看日志,这时候 tmux 的价值会非常明显。
这篇文章不讲复杂配置,只讲最值得先掌握的核心用法。
Tmux 到底是什么?
tmux 的全称是 Terminal Multiplexer,也就是“终端复用器”。
你可以把它简单理解成:
- 它能让一个终端窗口里开多个“标签页”和“分屏”
- 它能让你的命令会话在后台持续存在
- 即使你关掉终端、断开 SSH、退出 WSL,任务也不会立刻消失
所以它最核心的价值,其实就两件事:
- 分屏操作
- 会话持久化
先理解三个概念:Session、Window、Pane
很多人刚开始接触 Tmux 会觉得概念有点绕,其实你只要记住下面这个层级就够了:
Session:会话,最高层级。它是一个长期存在的工作空间Window:窗口,类似浏览器标签页Pane:窗格,也就是一个窗口里的分屏区域
如果用浏览器来类比:
Session像一个浏览器实例Window像不同标签页Pane像标签页里的左右或上下分栏
你日常最常操作的,其实是 Pane,也就是分屏。
所有操作的起点:前缀键
Tmux 大部分快捷键都不是直接按,而是要先按一个前缀键。
默认前缀键是:
Ctrl + b
操作节奏是:
- 先按
Ctrl + b - 全部松开
- 再按对应功能键
刚开始不习惯很正常,但用几天就会形成肌肉记忆。
最常用的能力:分屏
Tmux 最容易上手、也最立竿见影的能力,就是分屏。
左右分屏
Ctrl + b,然后按 %
这会把当前窗格左右切开。
适合场景:
- 左边跑程序,右边看日志
- 左边编辑代码,右边执行命令
上下分屏
Ctrl + b,然后按 "
这会把当前窗格上下切开。
这个快捷键很多人第一次都会卡住,因为双引号需要配合 Shift。
更准确地说,是:
Ctrl + b,然后按 Shift + '
在不同窗格之间切换
Ctrl + b,然后按方向键
比如你当前光标在左边窗格,想跳到右边,就:
Ctrl + b,然后按 →
这个用得非常多。
放大当前窗格
Ctrl + b,然后按 z
这个功能特别实用。
当你已经分了很多屏,但某一个窗格现在需要临时专注查看,就可以按 z 把它放大到全屏。看完之后再按一次 z,就恢复原来的布局。
关闭当前窗格
Ctrl + b,然后按 x
Tmux 会弹出确认提示,按 y 就能关闭。
Tmux 最强的能力:Detach 和 Attach
真正让 Tmux 变成“生产力工具”的,不只是分屏,而是会话保活。
这也是它和普通终端最大的区别。
分离会话:Detach
Ctrl + b,然后按 d
这个操作的意思不是“退出”,而是“把当前会话丢到后台继续运行”。
比如你现在在里面:
- 跑一个长时间脚本
- 跑
npm run dev - 跑 Claude Code
- 挂着日志和监控命令
这时候你要关掉终端、断开 SSH、先去处理别的事情,就可以 detach。
任务会继续活着。
重新接入:Attach
回到普通终端后,重新接入只需要:
tmux attach
如果系统里只有一个会话,它会直接把你带回去。
你会发现:
- 分屏还在
- 命令还在
- 程序还在跑
- 上下文完全没丢
这就是 Tmux 最让人上瘾的地方。
查看当前有哪些会话
tmux ls
这个命令会列出所有后台会话。
如果你挂了多个会话,它会很有用。
为什么它特别适合现在的 AI 编程工作流?
以前大家用 Tmux,主要是为了跑服务、看日志、做远程运维。
但现在它还有一个非常现实的新场景:在终端里和 AI 工具长期协作。
比如你在 Tmux 里跑 Claude Code 时,经常会遇到这些情况:
- 它在长时间执行任务
- 你想临时离开终端
- 你不想因为窗口关闭导致上下文中断
- 你想同时保留多个并行工作区
这时候 Tmux 就很自然地成了最佳搭档。
一个很常见的工作流是:
- Pane 1:Claude Code
- Pane 2:项目日志
- Pane 3:测试命令
- Pane 4:Git 或文档查阅
这样你不会一直来回切终端,信息也能保持在同一个工作空间里。
两个很值得顺手开的体验优化
1. 开启鼠标支持
Tmux 默认对鼠标支持不友好。
如果你想要:
- 鼠标点击切换窗格
- 鼠标拖动改变分屏大小
- 一部分滚动操作更自然
可以加这一行配置:
set -g mouse on
完整步骤:
- 打开配置文件
nano ~/.tmux.conf
- 写入:
set -g mouse on
-
保存退出
-
重新加载配置:
Ctrl + b,然后输入 :source-file ~/.tmux.conf
如果你平时主要在本地终端里用 Tmux,我非常建议把鼠标支持开上,体验会好很多。
2. 学会看历史输出
很多人第一次用 Tmux 会很困惑:
“为什么我滚轮翻不上去了?”
原因是 Tmux 接管了终端显示,所以普通滚轮行为不一定等于“看历史记录”。
正确方法是进入复制模式:
Ctrl + b,然后按 [
进入之后你就可以:
- 用方向键滚动
- 用
PageUp/PageDown翻页
退出时按:
q
这个能力在看日志、排查报错时特别重要。
新手最容易踩的几个坑
1. 命令输入大小写不对
Linux 和 WSL 环境通常是区分大小写的。
正确命令是:
tmux
不是 Tmux、TMUX 或别的变体。
2. 上下分屏总觉得按不出来
这是最常见的问题之一。
不是 Tmux 坏了,而是双引号本身需要 Shift。
所以正确动作是:
Ctrl + b,然后 Shift + '
3. 当前窗格太小,无法继续分屏
Tmux 不是无限分屏的。
如果当前终端太窄、太矮,继续切分时它会直接拒绝。
这时候不是命令错了,而是空间真的不够。你可以:
- 把终端窗口拉大
- 先关闭几个窗格
- 临时全屏化某个 Pane
如果你只想记住最重要的 6 个动作
那就先记这几个:
Ctrl + b,然后 %
Ctrl + b,然后 "
Ctrl + b,然后 方向键
Ctrl + b,然后 z
Ctrl + b,然后 d
tmux attach
只靠这几个,你已经能覆盖大部分日常需求了。
最后
Tmux 的学习曲线其实没有大家想象中那么高。
你不需要一开始就研究复杂配置,也不需要把所有快捷键背下来。真正有用的方式是:
- 先学会分屏
- 再学会 detach / attach
- 最后补上鼠标和历史滚动
只要这三步掌握了,终端工作流就会明显顺很多。
尤其是在今天这种“终端里跑 AI、跑服务、跑日志”的工作方式越来越常见的情况下,tmux 已经不是可有可无的小工具,而是一个很值得尽早用顺手的基础能力。