tmux 新手全指南:会话、窗口、分屏、复制、恢复一次搞定

    2026-06-12 04:57:29

    tmux 新手全指南:会话、窗口、分屏、复制、恢复一次搞定

    你读完这篇,会从“只会开终端”变成“能稳定管理一堆后台任务”的人。tmux 的本质就一句话:让你的终端永不下班。最大的坑只有一个:关窗口 != 退出会话,搞清楚“detach/attach”你就赢了一半。

    这篇是完整教程,带你从 0 建起可长期常驻的终端工作台,包含配置、恢复、同步输入、排错,以及大量图示。

    0. 准备:安装 tmux

    目的: 在你的系统上安装 tmux,并确认版本。

    操作:

    macOS:

    brew install tmux

    Ubuntu/Debian:

    sudo apt-get update && sudo apt-get install -y tmux

    CentOS/Rocky:

    sudo yum install -y tmux

    Arch:

    sudo pacman -S tmux

    Windows(推荐 WSL2):

    wsl --install

    进入 WSL 后再用 apt 安装。

    你应该看到:

    tmux -V

    输出类似 tmux 3.x。

    失败怎么办:

    command not found:确认包管理器是否存在,或在 WSL 内执行。

    无权限:联系管理员或用有 sudo 的账户。

    1. 先记住三件事:会话、窗口、窗格

    目的: 知道 tmux 的三层结构,避免把“窗口”和“会话”混成一团。

    Session(会话):最大的容器,一般一个项目一个会话。

    Window(窗口):会话里的多个“标签页”。

    Pane(窗格):窗口里的分屏区域。

    2. 启动你的第一个会话

    目的: 创建一个会话,把任务放进 tmux。

    操作:

    tmux new -s work

    你应该看到:

    进入一个新的终端界面

    底部出现状态栏(默认绿色)

    失败怎么办:

    提示已存在:换一个名字,或用 tmux attach -t work 直接进入。

    3. 学会“detach / attach”这两个动作

    目的: 让会话在后台继续跑,你断网/关机也不影响。

    操作:

    退出但不中断:Ctrl+b 然后 d

    查看会话列表:

    tmux ls

    重新进入:

    tmux attach -t work

    你应该看到:

    detach 后提示:[detached (from session work)]

    tmux ls 有一行 work: 1 windows (created ...)

    失败怎么办:

    no sessions:说明当前没有会话,重新 tmux new -s work。

    4. 窗口操作:像浏览器标签一样切换

    目的: 把不同任务拆成不同窗口。

    操作:

    新建窗口:C-b c

    列出窗口:C-b w

    切换窗口:C-b n / C-b p

    重命名窗口:C-b ,

    你也可以用命令:

    tmux new-window -n editor

    你应该看到:

    状态栏里窗口列表发生变化

    失败怎么办:

    快捷键没反应:先按 C-b ? 查看当前键位,再试一次。

    5. 窗格分屏:把一个窗口切成多个视角

    目的: 一边跑服务,一边看日志/编辑。

    操作:

    垂直分屏:C-b %

    水平分屏:C-b "

    在窗格间切换:C-b o 或 C-b 方向键

    关闭当前窗格:在窗格里执行 exit 或 C-d

    你也可以命令方式分屏:

    tmux split-window -h

    你应该看到:

    一个窗口被分成多个区域

    光标只在一个窗格里活动

    失败怎么办:

    分屏后太小:在命令模式输入 C-b : resize-pane -L 10 之类进行调整。

    6. 前缀键与快捷键的基本逻辑

    目的: 理解为什么要先按 C-b,避免“按了没反应”。

    tmux 的控制命令都需要先按 前缀键。默认前缀是 C-b(Ctrl + b)。按下前缀后,tmux 等待下一个键,决定执行哪个命令。

    你可以用下面命令查看当前前缀表:

    tmux lsk -Tprefix -N

    7. 复制模式与滚屏

    目的: 在 tmux 里像终端一样向上翻历史并复制。

    操作:

    进入复制模式:C-b [

    移动光标:方向键 / PageUp / PageDown

    开始选择:Space

    复制并退出:Enter

    粘贴:C-b ]

    你应该看到:

    进入复制模式后,光标可移动

    选中区域高亮

    失败怎么办:

    选不中:你的键位可能是 vi 模式,执行 tmux list-keys -Tcopy-mode 查看当前绑定。

    8. 鼠标与滚轮支持(推荐开启)

    目的: 用鼠标滚轮滚屏、点击切换窗格。

    操作: 在 ~/.tmux.conf 加一行:

    set -g mouse on

    然后重载配置:

    tmux source-file ~/.tmux.conf

    你应该看到:

    鼠标滚轮可以滚历史

    点击窗格即可切换

    失败怎么办:

    仍旧无效:确认你在 tmux 里([ -n "$TMUX" ] && echo inside tmux)。

    9. 会话管理:用命令精准控制

    目的: 管理多个会话,快速切换。

    操作:

    tmux ls

    tmux attach -t work

    tmux rename-session -t work ops

    也可以用“存在即进入,不存在就创建”:

    tmux new -As work

    你应该看到:

    tmux ls 显示所有会话

    重命名后列表更新

    失败怎么办:

    名字冲突:先 tmux ls 确认名称。

    10. 同步输入:一条命令发给所有窗格

    目的: 适合同时执行多台机器或多进程命令。

    操作:

    开启同步:C-b : 然后输入 setw -g synchronize-panes on

    关闭同步:C-b : 然后输入 setw -g synchronize-panes off

    你应该看到:

    输入的命令在多个窗格同时出现

    失败怎么办:

    没反应:确认当前窗口有多个窗格。

    11. 配置文件:让 tmux 更顺手

    目的: 固化你的常用习惯。

    操作: 新建 ~/.tmux.conf,写入下面内容:

    # 允许鼠标

    set -g mouse on

    # 更大的历史滚动

    set -g history-limit 100000

    # 把前缀从 C-b 改成 C-a(可选)

    set -g prefix C-a

    unbind C-b

    bind C-a send-prefix

    # 复制模式用 vi 键位(可选)

    setw -g mode-keys vi

    # 快速重载配置

    bind r source-file ~/.tmux.conf \; display-message "tmux reloaded"

    重载配置:

    tmux source-file ~/.tmux.conf

    你应该看到:

    状态栏弹出 “tmux reloaded”

    失败怎么办:

    没提示:手动执行 tmux show -g history-limit 看配置是否生效。

    12. 进阶:多端同时连接同一会话

    目的: 让两台设备同时看同一 session(适合远程协作或手机备份)。

    操作: 在另一台机器上执行:

    tmux attach -t work

    你应该看到:

    两个终端同步显示

    在一个端输入,另一个端实时更新

    失败怎么办:

    连接后把别人踢下线:用 tmux attach -d -t work,确保你是主动接管。

    13. 进阶:会话恢复(重启机器也能回来)

    目的: 机器重启后恢复之前的 tmux 布局。

    操作: 使用 TPM + tmux-resurrect/continuum。

    安装 TPM:

    git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm

    在 ~/.tmux.conf 加:

    set -g @plugin 'tmux-plugins/tpm'

    set -g @plugin 'tmux-plugins/tmux-resurrect'

    set -g @plugin 'tmux-plugins/tmux-continuum'

    set -g @continuum-restore 'on'

    在 tmux 内按 C-b I 安装插件。

    你应该看到:

    底部出现安装提示

    重启后会话可恢复(需手动或自动)

    失败怎么办:

    插件没装上:确认 ~/.tmux/plugins/tpm 目录存在。

    14. 常用快捷键速查(够你一周内上手)

    场景快捷键新建会话tmux new -s name退出但不中断C-b d新建窗口C-b c切换窗口C-b n / C-b p分屏(垂直/水平)C-b % / C-b "切换窗格C-b o 或方向键复制模式C-b [粘贴C-b ]查看快捷键C-b ?

    15. 排错清单(最常见的 6 个坑)

    快捷键没反应:确认先按 C-b,再按目标键。

    复制模式不好用:检查是否启用了 mode-keys vi。

    鼠标滚轮无效:确认 set -g mouse on 并重载。

    分屏太小:用 resize-pane 调整,或把窗口拆成不同 window。

    会话消失:确认是否误用了 kill-session 或 kill-server。

    WSL 无法滚动:更新 Windows Terminal/WSL,或开启 mouse。

    如果你只记住一句话:tmux 是“会话常驻器”。会话一旦建立,你的工作就不再依赖窗口是否开着。把它变成你的默认终端习惯,你就会自然进入长期高产的状态。