tmux 命令速查

tmux 会话/窗口/窗格管理、快捷键、复制模式、配置与日常高频操作的完整速查表。

#tech / dev / terminal #type / howto #status / evergreen #resource / tmux

[!info] related notes

tmux 命令速查

核心概念

Session(会话) ─── 后台工作空间,断线不丢失
  └── Window(窗口) ─── 会话内的标签页
        └── Pane(窗格) ─── 单个窗口内的分屏

前缀键:所有快捷键需先按前缀键(默认 Ctrl+b,下文配置改为 Ctrl+a),再按功能键。下表中 Prefix 代表此前缀键。


会话管理

CLI 命令

命令说明常用示例
tmux启动一个新的匿名会话tmux
tmux new -s <name>启动一个命名会话tmux new -s dev
tmux ls列出所有正在运行的会话tmux ls
tmux attach / tmux a接回最近的会话tmux a -t dev(接回指定会话)
tmux attach -t <name>接回指定名称的会话tmux attach -t dev
tmux kill-session -t <name>关闭指定会话及其所有窗口和窗格tmux kill-session -t dev
tmux kill-server关闭所有会话并停止 tmux 服务慎用,会销毁所有会话
tmux rename-session -t <old> <new>重命名会话tmux rename-session -t 0 dev
tmux switch -t <name>在 tmux 内切换到另一个会话tmux switch -t prod

快捷键

快捷键说明
Prefix + dDetach:离开当前会话(后台继续运行)
Prefix + s打开会话列表,可上下选择并切换
Prefix + $重命名当前会话
Prefix + (切换到上一个会话
Prefix + )切换到下一个会话

窗口管理(标签页)

快捷键说明
Prefix + c新建窗口
Prefix + ,重命名当前窗口
Prefix + n切换到下一个窗口
Prefix + p切换到上一个窗口
Prefix + 0-9跳转到指定编号的窗口
Prefix + w打开窗口列表(可预览所有窗口并选择)
Prefix + &关闭当前窗口(会提示确认)
Prefix + l在最近两个窗口之间来回切换(类似 Alt+Tab)
Prefix + f按名称查找窗口
Prefix + .修改当前窗口的排序位置(输入数字)

窗格管理(分屏)

分屏操作

快捷键说明
Prefix + |左右分屏(垂直分割,自定义配置)
Prefix + -上下分屏(水平分割,自定义配置)
Prefix + %左右分屏(默认快捷键)
Prefix + "上下分屏(默认快捷键)
Prefix + x关闭当前窗格(会提示确认)
Prefix + z最大化/还原当前窗格(zoom toggle)
Prefix + !将当前窗格拆分为独立窗口
Prefix + {将当前窗格向前移动
Prefix + }将当前窗格向后移动

焦点切换

快捷键说明
Prefix + 方向键按方向切换焦点到相邻窗格
Prefix + o循环切换到下一个窗格
Prefix + q短暂显示窗格编号,按数字可跳转
Prefix + q 0-9按编号跳转到指定窗格

窗格大小调整

快捷键说明
Prefix + Ctrl + 方向键以 1 格为单位微调窗格边界
Prefix + Alt + 方向键以 5 格为单位大幅调整窗格边界
Prefix + Alt + 1切换到 even-horizontal 布局(均分左右)
Prefix + Alt + 2切换到 even-vertical 布局(均分上下)
Prefix + Alt + 3切换到 main-horizontal 布局(上方大窗,下方均分)
Prefix + Alt + 4切换到 main-vertical 布局(左侧大窗,右侧均分)
Prefix + Alt + 5切换到 tiled 布局(均分所有窗格)
Prefix + 空格在内置布局之间循环切换

复制模式

进入与退出

快捷键说明
Prefix + [进入复制模式(可用方向键/PgUp/PgDn 浏览历史输出)
qEsc在复制模式中退出
Prefix + ]粘贴缓冲区内容

复制模式下的移动键(vi 风格)

按键说明
h / j / k / l左 / 下 / 上 / 右移动光标
w跳到下一个词首
b跳到上一个词首
e跳到当前词尾
0跳到行首
$跳到行尾
g跳到缓冲区顶部
G跳到缓冲区底部
Ctrl + u向上翻半页
Ctrl + d向下翻半页
Ctrl + b向上翻整页
Ctrl + f向下翻整页
?向上搜索(输入关键词后按 Enter)
/向下搜索
n跳到下一个搜索结果
N跳到上一个搜索结果

复制模式下的选择与复制

按键说明
空格开始选择(set mark)
Enter复制选中内容到缓冲区并退出复制模式
y复制选中内容并退出(同 Enter)

命令模式

快捷键说明
Prefix + :进入命令模式(底部出现 : 提示符)
:setw mouse on临时开启鼠标支持
:source-file ~/.tmux.conf重新加载配置文件
:list-keys列出所有已绑定的快捷键
:list-sessions列出所有会话
:kill-session关闭当前会话
:resize-pane -D 5当前窗格向下扩展 5 行
:resize-pane -U 5当前窗格向上扩展 5 行
:resize-pane -L 5当前窗格向左扩展 5 列
:resize-pane -R 5当前窗格向右扩展 5 列
:swap-pane -U当前窗格与上方窗格交换
:swap-pane -D当前窗格与下方窗格交换
:break-pane将当前窗格拆出为独立窗口
:join-pane -s 2 -t 1将窗口 2 的窗格合并到窗口 1
:capture-pane捕获当前窗格内容到缓冲区
:save-buffer ~/output.txt将缓冲区内容保存到文件
:show-messages查看消息历史(调试用)

推荐基础配置

cat << 'EOF' > ~/.tmux.conf
# ===== 基础设置 =====
# 开启鼠标支持(可点击窗格、拖拽调整大小、滚轮翻页)
set -g mouse on

# 开启 256 色和 True Color 支持(Neovim / 主题配色必需)
set -g default-terminal "tmux-256color"
set -ga terminal-overrides ",*256col*:Tc"

# ===== 前缀键 =====
# 将前缀键从默认的 Ctrl+b 改为 Ctrl+a(更易按)
unbind C-b
set -g prefix C-a
bind C-a send-prefix

# ===== 分屏快捷键 =====
# 使用 | 和 - 来垂直和水平分割(比默认的 % 和 " 更直觉)
bind | split-window -h -c "#{pane_current_path}"
bind - split-window -v -c "#{pane_current_path}"
unbind '"'
unbind %

# 新窗口也继承当前路径
bind c new-window -c "#{pane_current_path}"

# ===== 配置重载 =====
bind r source-file ~/.tmux.conf \; display "tmux 配置已刷新!"

# ===== 窗格切换(Alt + 方向键,无需前缀键) =====
bind -n M-Left  select-pane -L
bind -n M-Right select-pane -R
bind -n M-Up    select-pane -U
bind -n M-Down  select-pane -D

# ===== 状态栏 =====
set -g status-style 'bg=#333333 fg=#5eacd3'
set -g status-right '%Y-%m-%d %H:%M'

# ===== 历史记录行数 =====
set -g history-limit 50000
EOF

写入后,在 tmux 里按 Prefix + r(即 Ctrl+a 再按 r)重新加载配置。

lazygit 浮窗

~/.tmux.conf 中添加:

# Prefix + g 打开 lazygit 浮窗
bind-key g display-popup -E -w 90% -h 90% 'lazygit'

Prefix + g 弹出 lazygit,操作完 q 退出,回到原来的代码窗口。比开一个长期 window 更轻量。详见 lazygit

配置项速查

配置项说明推荐值
set -g mouse on鼠标支持(点击、拖拽、滚轮)on
set -g default-terminal终端类型tmux-256color
set -g history-limit每个窗格保留的历史行数50000
set -g base-index窗口编号起始值1(从 1 开始而非 0)
set -g pane-base-index窗格编号起始值1
set -g status-interval状态栏刷新间隔(秒)5
set -g repeat-time前缀键后可连续按功能键的时间(毫秒)500
set -g escape-timeEsc 键响应延迟(毫秒,Neovim 用户设低)0
set -g focus-events on让 tmux 传递焦点事件给终端程序on
setw -g mode-keys vi复制模式使用 vi 键位vi
setw -g aggressive-resize on多客户端连接时以可见区域为准调整大小on

日常工作流

快速上手的 4 个动作

步骤操作说明
1tmux new -s dev启动命名会话
2Prefix + |Prefix + -分屏查看日志/服务
3Prefix + d断开连接但保留现场
4tmux a -t dev下次回来继续工作

常见场景组合

场景操作步骤
SSH 开发防断线tmux new -s dev → 编码 → 断线后 tmux a -t dev 恢复
并排看代码和终端Prefix + | 分屏 → 右侧 Prefix + c 开新窗口 → 左侧编辑,右侧运行
临时放大某窗格Prefix + z 最大化 → 检查完再 Prefix + z 还原
复制终端输出Prefix + [ 进入复制模式 → 空格 开始选择 → Enter 复制 → Prefix + ] 粘贴
保留完整开发环境配置 tmuxinator,见 [[tmuxinator

进阶方向

创建于 2026/2/23 更新于 2026/7/15