Vibe Coding时代我们需要多终端管理,Tmux必不可少

举报
yd_289006361 发表于 2026/08/26 16:00:53 2026/08/26
【摘要】 Tmux 快速使用入门│ Tmux(Terminal Multiplexer)是一个终端复用器,可以在一个终端窗口中管理多个会话、窗口和面板,断开后进程继续运行,重连即可恢复工作现场。────────────────────一、核心概念Tmux 有三层结构,从大到小依次为:Session(会话) └── Window(窗口) └── Pane(面板)概念 ...

Tmux 快速使用入门

│ Tmux(Terminal Multiplexer)是一个终端复用器,可以在一个终端窗口中管理多个会话、窗口和面板,断开后进程继续运行,重连即可恢复工作现场。

────────────────────

一、核心概念

Tmux 有三层结构,从大到小依次为:

Session(会话)
  └── Window(窗口)
        └── Pane(面板)

概念 │ 说明 │ 类比
─────────────────┼──────────────────────────────────────────┼────────────────────
Session(会话) │ 一个独立的 tmux 工作环境,可包含多个窗口 │ 浏览器的一个窗口
─────────────────┼──────────────────────────────────────────┼────────────────────
Window(窗口) │ 会话中的全屏终端,可包含多个面板 │ 浏览器的一个标签页
─────────────────┼──────────────────────────────────────────┼────────────────────
Pane(面板) │ 窗口中被分割出的一个区域 │ 标签页中的分屏

│ 关键优势:SSH 断开后,tmux 中的进程不会终止,重新连接即可恢复全部工作现场。

────────────────────

二、安装方式(仅供参考)

# Ubuntu / Debian
sudo apt install tmux

# CentOS / RHEL
sudo yum install tmux

# macOS(Homebrew)
brew install tmux

# Arch Linux
sudo pacman -S tmux

────────────────────

三、会话管理

3.1 创建会话

tmux                      # 创建匿名会话
tmux new -s mysession     # 创建名为 mysession 的会话

3.2 脱离会话(Detach)

在 tmux 内部按下:

Ctrl + b  然后按  d

│ 脱离后会话仍在后台运行,所有进程继续执行。

3.3 查看会话列表

tmux ls

输出示例:

mysession: 1 windows (created Mon Jan  1 10:00:00 2024)
other: 2 windows (created Mon Jan  1 11:00:00 2024)

3.4 重新连接会话(Attach)

tmux attach -t mysession     # 连接到指定会话
tmux a -t mysession          # 简写形式
tmux a                       # 连接最近一个会话

3.5 关闭会话

tmux kill-session -t mysession    # 关闭指定会话
tmux kill-server                  # 关闭所有会话

在会话内部关闭:

Prefix  然后按  :  输入 kill-session

────────────────────

四、前缀键说明

Tmux 的所有快捷键都需要先按 前缀键(Prefix),默认为:

Ctrl + b

│ 下文中用 Prefix 代表 Ctrl + b。按下前缀键后松开,再按下一个功能键。

────────────────────

五、窗口管理

操作 │ 快捷键 │ 说明
──────────────────┼─────────────┼─────────────────────────────
创建新窗口 │ Prefix c │ 在当前会话中新建窗口
──────────────────┼─────────────┼─────────────────────────────
切换到下一个窗口 │ Prefix n │ next
──────────────────┼─────────────┼─────────────────────────────
切换到上一个窗口 │ Prefix p │ previous
──────────────────┼─────────────┼─────────────────────────────
按编号切换窗口 │ Prefix 数字 │ 如 Prefix 2 切换到 2 号窗口
──────────────────┼─────────────┼─────────────────────────────
列出所有窗口 │ Prefix w │ 可用方向键选择
──────────────────┼─────────────┼─────────────────────────────
重命名当前窗口 │ Prefix , │ 输入新名称后回车
──────────────────┼─────────────┼─────────────────────────────
关闭当前窗口 │ Prefix & │ 确认后按 y
──────────────────┼─────────────┼─────────────────────────────
查找窗口 │ Prefix f │ 按名称或编号查找

────────────────────

六、面板管理(分屏)

6.1 分屏操作

操作 │ 快捷键 │ 说明
────────────────┼──────────┼──────────────────────────
左右分屏 │ Prefix % │ 垂直分割线,左右两个面板
────────────────┼──────────┼──────────────────────────
上下分屏 │ Prefix " │ 水平分割线,上下两个面板
────────────────┼──────────┼──────────────────────────
关闭当前面板 │ Prefix x │ 确认后按 y
────────────────┼──────────┼──────────────────────────
将面板转为窗口 │ Prefix ! │ 当前面板独立为一个新窗口

6.2 面板导航

操作 │ 快捷键 │ 说明
────────────────┼──────────┼──────────────────────────────
切换到上方面板 │ Prefix ↑ │ 方向键上
────────────────┼──────────┼──────────────────────────────
切换到下方面板 │ Prefix ↓ │ 方向键下
────────────────┼──────────┼──────────────────────────────
切换到左方面板 │ Prefix ← │ 方向键左
────────────────┼──────────┼──────────────────────────────
切换到右方面板 │ Prefix → │ 方向键右
────────────────┼──────────┼──────────────────────────────
依次切换面板 │ Prefix o │ 按顺序轮换
────────────────┼──────────┼──────────────────────────────
显示面板编号 │ Prefix q │ 面板上显示数字,按数字可切换

6.3 调整面板大小

先按 Prefix,然后按住不放再按方向键调整:

Prefix(按住)+///

或者使用调整模式:

Prefix  然后按  Ctrl + 方向键

6.4 面板布局

操作 │ 快捷键 │ 说明
──────────────┼──────────────┼──────────────────────────────────
切换预设布局 │ Prefix Space │ 在多种布局间循环切换
──────────────┼──────────────┼──────────────────────────────────
交换面板位置 │ Prefix { │ 当前面板与前一个交换
──────────────┼──────────────┼──────────────────────────────────
交换面板位置 │ Prefix } │ 当前面板与后一个交换
──────────────┼──────────────┼──────────────────────────────────
面板全屏切换 │ Prefix z │ 当前面板全屏/恢复(zoom toggle)

────────────────────

七、复制模式(Copy Mode)

7.1 进入复制模式

Prefix  [

进入后可以使用方向键、Page Up、Page Down 浏览历史输出。

7.2 复制操作(默认 Emacs 模式)

操作 │ 按键 │ 说明
──────────────┼────────┼────────────────────
开始选择 │ Space │ 进入选择模式
──────────────┼────────┼────────────────────
选择文本 │ 方向键 │ 移动光标选择内容
──────────────┼────────┼────────────────────
复制选中内容 │ Enter │ 复制到 tmux 缓冲区
──────────────┼────────┼────────────────────
取消选择 │ Esc │ 退出复制模式

7.3 粘贴

Prefix  ]

7.4 翻页浏览

在复制模式下:

操作 │ 按键
──────────────┼─────────────────────────
向上翻页 │ Ctrl + u 或 Page Up
──────────────┼─────────────────────────
向下翻页 │ Ctrl + d 或 Page Down
──────────────┼─────────────────────────
跳到顶部 │ g
──────────────┼─────────────────────────
跳到底部 │ G
──────────────┼─────────────────────────
搜索(向下) │ Ctrl + s 然后输入关键词
──────────────┼─────────────────────────
搜索(向上) │ Ctrl + r 然后输入关键词

────────────────────

八、其他常用操作

操作 │ 快捷键 / 命令 │ 说明
────────────────┼────────────────────┼────────────────────────────────────
显示时间 │ Prefix t │ 面板中央显示大时钟,按任意键退出
────────────────┼────────────────────┼────────────────────────────────────
命令模式 │ Prefix : │ 输入 tmux 命令
────────────────┼────────────────────┼────────────────────────────────────
刷新配置 │ Prefix r(需配置) │ 重新加载 ~/.tmux.conf
────────────────┼────────────────────┼────────────────────────────────────
查看快捷键列表 │ Prefix ? │ 显示所有绑定的快捷键
────────────────┼────────────────────┼────────────────────────────────────
暂停 tmux │ Prefix Ctrl + z │ 暂停 tmux 回到 shell,输入 fg 恢复
────────────────┼────────────────────┼────────────────────────────────────
鼠标支持 │ Prefix m(需配置) │ 开启鼠标切换面板/调整大小

────────────────────

九、配置文件示例

创建 ~/.tmux.conf:

# ============================================
# Tmux 基础配置
# ============================================

# 修改前缀键为 Ctrl + a(更顺手)
unbind C-b
set -g prefix C-a

# 启用鼠标支持(可点击切换面板、拖拽调整大小、滚轮翻页)
set -g mouse on

# 基础索引从 1 开始(默认是 0)
set -g base-index 1
setw -g pane-base-index 1

# 自动重新加载配置文件
bind r source-file ~/.tmux.conf \; display "Config reloaded!"

# 更直观的分屏快捷键
bind | split-window -h      # Prefix | 左右分屏
bind - split-window -v      # Prefix - 上下分屏

# 使用 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

# 启用 vi 模式的复制操作
setw -g mode-keys vi

# 状态栏样式
set -g status-style 'bg=black fg=white'
set -g status-left '[#S] |'                          # 显示会话名
set -g status-right '#[fg=yellow]%Y-%m-%d %H:%M '   # 显示时间

# 窗口列表样式
setw -g window-status-current-style 'fg=black bg=green bold'

# 终端支持 256 色和 true color
set -g default-terminal "screen-256color"
set -ga terminal-overrides ",xterm-256color:Tc"

# 滚动历史行数
set -g history-limit 10000

│ 修改配置后,在 tmux 内按 Prefix r 即可重新加载(前提是已配置该快捷键)。

────────────────────

十、常用场景速查

场景 1:SSH 远程工作不怕断线

# 1. SSH 连上服务器后创建会话
tmux new -s work

# 2. 在会话中正常工作(编译、运行服务等)

# 3. 断开 SSH(或网络中断),会话继续运行

# 4. 重新 SSH 连接,恢复工作现场
tmux a -t work

场景 2:一边看日志一边写代码

tmux new -s dev

# Prefix %    → 左右分屏
# 左边写代码,右边运行 tail -f app.log

场景 3:同时监控多个服务

tmux new -s monitor

# Prefix "    → 上下分屏
# Prefix %    → 再左右分屏
# 三个面板分别监控不同服务

────────────────────

十一、快捷键速查表

┌──────────────────────────────────────────────────────┐
│              Tmux 快捷键速查表                        │
│         Prefix = Ctrl + b(默认)                     │
├──────────────────────────────────────────────────────┤
│  会话                                                │
│    d            脱离会话                              │
│    s            列出会话并选择                        │
│    $            重命名会话                            │
│                                                      │
│  窗口                                                │
│    c            新建窗口                              │
│    n / p        下一个 / 上一个窗口                   │
│    数字         切换到对应编号窗口                    │
│    w            窗口列表                              │
│    ,            重命名窗口                            │
│    &            关闭窗口                              │
│                                                      │
│  面板                                                │
│    %            左右分屏                              │
│    "            上下分屏                              │
│    方向键       切换面板                              │
│    o            依次切换面板                          │
│    x            关闭面板                              │
│    z            面板全屏/恢复(toggle)               │
│    Space        切换布局                              │
│                                                      │
│  复制模式                                            │
│    [            进入复制模式                          │
│    ]            粘贴                                  │
│                                                      │
│  其他                                                │
│    ?            查看快捷键                            │
    :            命令模式                              │
│    t            显示时钟                              │
│    r            重新加载配置(需配置)                 │
└──────────────────────────────────────────────────────┘

────────────────────

十二、常见问题

Q1:鼠标滚轮无法翻页?

在 ~/.tmux.conf 中添加:

set -g mouse on

或进入复制模式 Prefix [ 后用 Page Up / Page Down 翻页。

Q2:如何复制到系统剪贴板?

Linux(xclip)

# 在 ~/.tmux.conf 中配置
bind-key -T copy-mode-vi y send-keys -X copy-pipe-and-cancel 'xclip -in -selection clipboard'

macOS(pbcopy)

bind-key -T copy-mode-vi y send-keys -X copy-pipe-and-cancel 'pbcopy'

Q3:修改前缀键后不生效?

确保配置文件中 unbind C-b 在 set -g prefix C-a 之前,并重新加载配置。

Q4:如何让 tmux 启动时自动加载配置?

tmux 启动时会自动读取 ~/.tmux.conf,无需额外操作。如果没有生效,检查文件路径和权限。

────────────────────

总结

日常最常用操作 │ 命令 / 快捷键
────────────────┼──────────────────
新建会话 │ tmux new -s 名称
────────────────┼──────────────────
脱离会话 │ Prefix d
────────────────┼──────────────────
重连会话 │ tmux a -t 名称
────────────────┼──────────────────
左右分屏 │ Prefix %
────────────────┼──────────────────
上下分屏 │ Prefix "
────────────────┼──────────────────
切换面板 │ Prefix 方向键
────────────────┼──────────────────
新建窗口 │ Prefix c
────────────────┼──────────────────
切换窗口 │ Prefix 数字

│ 记住一句话:先按 Ctrl + b,再按功能键,这就是 tmux 的全部操作逻辑。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。