跳到主要内容

Tmux 命令速查表

Tmux 是一个强大的终端复用器(terminal multiplexer),允许你在单个终端窗口中创建、访问和控制多个终端会话。本速查表覆盖了日常开发中最常用的 Tmux 操作,包括会话管理、窗口切换、窗格布局、个性化配置和剪贴板集成。建议先掌握前缀键(默认为 Ctrl+b)和基本会话操作,再逐步学习窗格管理和自定义配置。

更新: 2026-07-16·40 条命令

使用场景速查

你要做什么用哪个快捷键
新建 Tmux 会话tmux new -s name
断开会话(后台运行)prefix + d
重新连接会话tmux attach -t name
创建新窗口prefix + c
切换窗口prefix + 数字
垂直分割窗格prefix + %
水平分割窗格prefix + \"
在窗格间切换prefix + 方向键
浏览历史输出prefix + [
查看所有快捷键prefix + ?

会话管理

``bash # 创建会话 tmux new -s mysession # 创建名为 mysession 的新会话 tmux new # 创建匿名新会话 tmux new-session -s web # 创建 web 会话

# 断开会话(后台运行程序) prefix + d # 断开当前会话(detach),程序继续运行

# 重新连接 tmux attach -t mysession # 重新连接 mysession 会话 tmux a -t mysession # 简写形式 tmux attach # 连接唯一会话(只有一个时)

# 列出会话 tmux ls # 列出所有运行中的会话 prefix + s # 在 Tmux 内交互式选择会话

# 关闭会话 tmux kill-session -t mysession # 关闭指定会话 tmux kill-server # 关闭 Tmux 服务器(所有会话) prefix + & # 关闭当前窗口(会提示确认) prefix + x # 关闭当前窗格(会提示确认)

# 重命名 tmux rename-session -t old new # 从外部重命名会话 prefix + $ # 在 Tmux 内重命名当前会话

# 切换会话 prefix + ( # 切换到上一个会话 prefix + ) # 切换到下一个会话 prefix + w # 以菜单方式选择会话和窗口 `

窗口操作

`bash # 创建与关闭 prefix + c # 创建新窗口 prefix + & # 关闭当前窗口(确认后) tmux new-window -n web # 从命令行创建命名窗口

# 切换窗口 prefix + 0-9 # 切换到指定编号的窗口 prefix + p # 切换到上一个窗口(previous) prefix + n # 切换到下一个窗口(next) prefix + w # 以列表形式选择窗口 prefix + f # 按名称搜索窗口

# 窗口管理 prefix + , # 重命名当前窗口 prefix + . # 移动窗口(输入新编号) prefix + l # 切换到上一个活动窗口 :swap-window -t -1 # 将当前窗口与前一个窗口交换 :swap-window -t +1 # 将当前窗口与后一个窗口交换 tmux move-window -s 1 -t 3 # 将窗口 1 移到位置 3

# 窗口索引 tmux set -g base-index 1 # 窗口索引从 1 开始(默认从 0) :move-window -r # 重排所有窗口编号(无间隙) :display-message -p '#I' # 显示当前窗口索引号 `

窗格操作

`bash # 创建窗格 prefix + % # 垂直分割(左右窗格) prefix + " # 水平分割(上下窗格) :split-window -h # 命令方式垂直分割 :split-window -v # 命令方式水平分割

# 窗格导航 prefix + ←↑→↓ # 按方向切换到相邻窗格 prefix + o # 循环切换到下一个窗格 prefix + ; # 切换到上一个活动窗格 prefix + q # 显示窗格编号(按编号快速切换)

# 窗格调整 prefix + Ctrl+方向键 # 按方向调整窗格大小(1 个单元) :resize-pane -D 10 # 向下增加 10 行 :resize-pane -U 5 # 向上增加 5 行 :resize-pane -L 20 # 向左增加 20 列 :resize-pane -R 15 # 向右增加 15 列

# 窗格控制 prefix + ! # 将当前窗格提升为独立窗口(break pane) prefix + x # 关闭当前窗格(确认后) prefix + z # 最大化/恢复当前窗格(zoom toggle) prefix + space # 切换窗格布局(循环) prefix + { # 当前窗格左移/上移 prefix + } # 当前窗格右移/下移 prefix + q + 数字 # 按编号直接切换到指定窗格 `

布局管理

`bash # 内置布局 prefix + space # 循环切换以下布局 prefix + M-1 # even-horizontal(等分水平) prefix + M-2 # even-vertical(等分垂直) prefix + M-3 # main-horizontal(主区水平) prefix + M-4 # main-vertical(主区垂直) prefix + M-5 # tiled(平铺)

:select-layout even-horizontal # 命令方式选择布局 :select-layout tiled # 平铺布局 :select-layout -E # 使用上一个布局

# 自定义布局 :setw -g window-layout tiled # 设置新窗口默认布局 :setw -g force-width 80 # 强制窗格宽度 :setw -g force-height 40 # 强制窗格高度 :join-pane -s web:2.1 # 将会话 web 窗口 2 的窗格 1 移动到当前 :join-pane -t .1 # 将当前窗口窗格 1 移动到新位置 :display-panes # 显示所有窗格编号

# 同步输入 :setw synchronize-panes on # 同步所有窗格输入(同屏操作) :setw synchronize-panes off # 关闭同步输入 prefix + :setw synchronize-panes # 快捷键方式切换

# 保存/恢复布局 tmux list-windows -a # 列出所有窗口布局信息 :show-window-options -g # 查看窗口全局选项 :save-buffer ~/tmux-layout.txt # 保存缓冲区内容 `

配置定制

`bash # ~/.tmux.conf 配置示例 # 修改前缀键 set -g prefix C-a # 将前缀改为 Ctrl+a unbind C-b # 取消默认前缀 bind C-a send-prefix # 按两次发送前缀

# 鼠标支持 set -g mouse on # 启用鼠标(点击/拖动/滚动)

# 外观设置 set -g default-terminal "screen-256color" # 256 色终端 set -g status-bg colour235 # 状态栏背景色 set -g status-fg white # 状态栏前景色 set -g status-left-length 40 # 左侧状态栏最大长度 set -g status-right-length 80 # 右侧状态栏最大长度 set -g status-justify centre # 状态栏居中对齐 set -g status-interval 5 # 状态栏刷新间隔(秒)

# 状态栏内容 set -g status-left "#[fg=green]Session: #S " set -g status-right "#[fg=yellow]%Y-%m-%d %H:%M " set -g window-status-current-format "#[fg=cyan,bold]#I:#W" set -g window-status-format "#[fg=white]#I:#W"

# 快捷键优化 bind r source-file ~/.tmux.conf \; display-message "Config reloaded" # Ctrl+b r 重载配置 bind | split-window -h # 用 | 垂直分割 bind - split-window -v # 用 - 水平分割 bind H resize-pane -L 5 # 快速调整 bind J resize-pane -D 5 bind K resize-pane -U 5 bind L resize-pane -R 5

# 时间戳和消息 set -g display-time 3000 # 消息显示 3 秒 set -g message-style "bg=colour235,fg=white" set -g message-command-style "bg=colour235,fg=yellow"

# 历史缓冲区 set -g history-limit 50000 # 每个窗格历史行数 setw -g mode-keys vi # 复制模式使用 vi 快捷键 `

剪贴板与复制模式

`bash # 进入复制模式 prefix + [ # 进入复制模式(滚动查看历史) prefix + PageUp # 直接进入复制模式并翻页 :capture-pane -S - # 将当前窗格全部内容捕获到缓冲区

# 复制模式操作(vi 模式) # 先设置:setw -g mode-keys vi h / j / k / l # 左/下/上/右移动 Ctrl+b / Ctrl+f # 上翻页 / 下翻页 gg / G # 跳到开头 / 末尾 0 / $ # 行首 / 行尾 /pattern # 向前搜索 ?pattern # 向后搜索 n / N # 下一个 / 上一个匹配

# 选择与复制 Space # 开始选中文本 Enter # 复制选中文本到 Tmux 缓冲区 prefix + ] # 粘贴 Tmux 缓冲区内容

# 复制模式 vi 风格绑定(推荐配置) # bind -T copy-mode-vi v send-keys -X begin-selection # bind -T copy-mode-vi y send-keys -X copy-selection-and-cancel # bind -T copy-mode-vi C-v send-keys -X rectangle-toggle

# 系统剪贴板集成 # Linux(需要 xclip) set -g set-clipboard on bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "xclip -selection clipboard" bind -T copy-mode-vi Enter send-keys -X copy-pipe-and-cancel "xclip -selection clipboard"

# macOS(使用 pbcopy) # bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "pbcopy" # bind -T copy-mode-vi Enter send-keys -X copy-pipe-and-cancel "pbcopy"

# 缓冲区管理 :show-buffer # 显示当前缓冲区内容 :list-buffers # 列出所有缓冲区 :choose-buffer # 交互式选择缓冲区 :save-buffer ~/output.txt # 保存缓冲区到文件 :delete-buffer # 删除当前缓冲区 :clear-history # 清除当前窗格历史 ``

会话管理(7)

命令难度
tmux new -s <name>
创建新的 Tmux 会话并命名
基础
prefix + d
断开当前会话(后台继续运行)
基础
tmux attach -t <name>
重新连接指定会话
基础
tmux ls
列出所有运行中的 Tmux 会话
基础
tmux kill-session -t <name>
关闭指定会话
基础
tmux kill-server
关闭 Tmux 服务器及所有会话
中级
prefix + $ / tmux rename-session
重命名当前会话
基础

窗口操作(5)

命令难度
prefix + c
创建新窗口
基础
prefix + 0-9
切换到指定编号的窗口
基础
prefix + p / prefix + n
切换到上一个/下一个窗口
基础
prefix + w
以列表形式浏览和选择窗口
中级
prefix + , (comma)
重命名当前窗口
基础

窗格操作(6)

命令难度
prefix + "%"
垂直分割当前窗格(左右)
基础
prefix + '"'
水平分割当前窗格(上下)
基础
prefix + arrow keys
按方向切换到相邻窗格
基础
prefix + o
循环切换到下一个窗格
基础
prefix + z
最大化/恢复当前窗格(缩放切换)
基础
prefix + Ctrl+arrow
按方向调整窗格大小(1 个单元)
中级

布局管理(3)

命令难度
prefix + space
循环切换窗格布局
基础
prefix + M-1 / M-2 / M-3 / M-4 / M-5
切换预设布局(水平/垂直/主区水平/主区垂直/平铺)
中级
:setw synchronize-panes on
同步所有窗格输入(同屏操作所有窗格)
高级

配置定制(9)

命令难度
set -g prefix C-a
将默认前缀键 Ctrl+b 改为 Ctrl+a
中级
set -g mouse on
启用鼠标支持(点击/拖动/滚动)
基础
set -g default-terminal "screen-256color"
设置终端类型为 256 色支持
中级
set -g status-interval 5
设置状态栏刷新间隔(秒)
中级
set -g history-limit 50000
设置每个窗格的滚动历史行数上限
中级
setw -g mode-keys vi
复制模式中使用 vi 风格快捷键
中级
bind r source-file ~/.tmux.conf
绑定快捷键重载配置文件(prefix + r)
中级
set -g status-left "#[fg=green]Session: #S"
自定义状态栏左侧内容(会话名等)
高级
set -g status-right "#[fg=yellow]%Y-%m-%d %H:%M"
自定义状态栏右侧内容(日期时间等)
高级

剪贴板与复制(10)

命令难度
prefix + [
进入复制模式(滚动查看历史输出)
中级
prefix + ]
粘贴 Tmux 缓冲区内容
基础
Space / Enter
在复制模式下开始选择/复制选中文本
中级
bind -T copy-mode-vi y send-keys -X copy-selection-and-cancel
绑定 vi 风格快捷键 y 复制选中内容并退出复制模式
高级
bind -T copy-mode-vi v send-keys -X begin-selection
绑定 vi 风格快捷键 v 开始选择文本
高级
:capture-pane -S -
将当前窗格全部内容捕获到缓冲区
中级
:show-buffer
显示当前缓冲区内容
中级
:list-buffers
列出所有缓冲区
中级
:save-buffer <file>
将缓冲区内容保存到文件
中级
:clear-history
清除当前窗格的滚动历史
中级

常见问题

本速查表数据整理自各工具官方文档。最后更新: 2026-07-16。