tmux
tmux 主题入口,汇总基本操作、布局恢复、tmuxinator 与远程开发工作流。
#type / moc
#status / growing
#tech / dev
#resource / tmux
tmux
[!info] related notes
tmux 是一个终端复用器。它把“会话”从单个终端窗口里解耦出来,让你可以在同一台机器上长期保留后台工作环境,并在多个窗口、多个窗格之间切换。
这个主题覆盖什么
- 会话、窗口、窗格的基本心智模型
- 日常操作与基础配置
- 布局保存与恢复
- 用
tmuxinator管理项目化布局 - 与
nvim、SSH、命令面板组合成远程开发工作流
推荐阅读顺序
核心心智模型
session是后台工作空间。你可以离开,再重新接回。window像标签页。一个会话里可以有多个窗口。pane是窗口内的分屏。适合把编辑器、日志、服务和命令行放在一起。
如果只是普通终端窗口,关掉窗口通常就意味着会话结束;而在 tmux 里,终端只是”观察入口”,真正的工作环境由 tmux 自己托管。
项目窗口组织原则
一个项目一个 session,每个窗口承担一种长期职责:
session: 项目名
window 1: nvim → 写代码
window 2: dev → 前端 dev server
window 3: api → 后端服务 / 日志
window 4: git → lazygit / git 操作
window 5: logs → docker compose logs -f
window 6: infra → docker compose / psql / redis-cli
不要把所有东西都挤在一个窗口里。一个窗口只承担一种职责,最不乱。
操作方式选择:
| 场景 | 推荐 |
|---|---|
| 长期任务 | tmux window |
| 并排观察 | tmux pane |
| 临时命令 | tmux popup(如 lazygit) |
核心能力
会话持久化
- 适合 SSH 远程开发、WSL 长时间工作、服务调试
- 网络断开或终端关闭后,进程仍可继续运行
- 常见动作是
attach、detach、恢复已有会话
多窗口与多窗格
- 同一会话里可以同时打开编辑器、服务、日志和 Git 命令行
- 适合左边代码、右边运行服务、下方看日志的布局
- 常用操作集中在 tmux 命令速查
布局恢复
- 如果你想保留当前状态,可以用插件做“存档与读档”
- 如果你更想要固定布局的可重复启动,可以用脚本或
tmuxinator - 见 tmux 中保持布局
工具与工作流扩展
声明式布局管理
- tmuxinator:用 YAML 描述项目目录、窗口和窗格命令
- tmuxinator 安装和使用:安装、配置与最小示例
远程开发工作流
- 利用 tmux 和 nvim 的方式远程开发
- SSH 端口转发与远程开发
- 远程开发状态检查
- lazygit
- 这一层关注的不是”tmux 怎么按”,而是”tmux 为什么要和编辑器、SSH、命令面板一起理解”