Tmux 快速入门指南

tmux

1. 核心概念:套娃结构

Tmux 的结构分为三层,理解这个就不会迷路:

  1. Session (会话):最高层级。对应一个“项目”或“任务”。
  • 场景:你可以有一个叫 work 的会话跑公司代码,一个叫 blog 的会话维护个人博客。断开 SSH 后,Session 依然在后台存活。
  1. Window (窗口):中间层级。相当于浏览器的“标签页”。
  • 场景:在一个 Session 里,Window 1 跑 Claude Code,Window 2 跑 git 命令,Window 3 看日志。
  1. Pane (窗格):最底层。相当于一个屏幕被切分成几块。
  • 场景:左边大屏跑 Claude Code,右边小屏实时看 top 监控性能。

2. Cheat Sheet

所有快捷键都需要先按 前缀键 (Prefix),默认是 Ctrl + b(操作方式:按下 Ctrlb,松开,然后按具体功能键)

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 了。
  • 好习惯
1
2
tmux new -s backend  # 开发后端
tmux new -s monitor  # 监控服务器

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 devpython app.py),看实时日志。


总结

  1. SSH 上去。
  2. tmux new -s work
  3. 开始用 Claude Code 搬砖。
  4. 想分屏看日志?Ctrl+b 然后 %
  5. 下班了?Ctrl+b 然后 d
  6. 回家?tmux a -t work
Licensed under CC BY-NC-SA 4.0
comments powered by Disqus