tmux 常用命令总结:从入门到稳定使用的一篇实战博客

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 接管
  • 高亮只是"选择过程",不是系统选中

正确的复制方式

  • 系统复制(最推荐)

    text 复制代码
    Shift + 鼠标拖动

    然后使用 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 用户了 🙂

相关推荐
云云只是个程序马喽26 分钟前
AI漫剧创作系统开发定制指南
人工智能·小程序·php
嵌入式×边缘AI:打怪升级日志1 小时前
100ASK-T113 Pro 开发板 Bootloader 完全开发指南
linux·ubuntu·bootloader
lzhdim1 小时前
SQL 入门 12:SQL 视图:创建、修改与可更新视图
java·大数据·服务器·数据库·sql
2401_873479402 小时前
断网时如何实时判断IP归属?嵌入本地离线库,保障风控不中断
运维·服务器·网络
charlie1145141912 小时前
Linux 字符设备驱动:cdev、设备号与设备模型
linux·开发语言·驱动开发·c
handler012 小时前
Linux 内核剖析:进程优先级、上下文切换与 O(1) 调度算法
linux·运维·c语言·开发语言·c++·笔记·算法
zhouwy1132 小时前
Linux进程与线程编程详解
linux·c++
我星期八休息3 小时前
IT疑难杂症诊疗室:AI时代工程师Superpowers进化论
linux·开发语言·数据结构·人工智能·python·散列表
切糕师学AI3 小时前
深入解析 Zsh 与 Oh-My-Zsh:打造高效现代化终端
linux·终端·zsh
切糕师学AI4 小时前
Ubuntu 下 Git 完全使用指南
linux·git·ubuntu