使用tmux摆脱断连烦恼

Tmux 是一个终端复用器(terminal multiplexer),是 screen 的现代替代品。


概述

与 screen 的单体结构不同,tmux 采用 C/S 架构,一个服务器进程管理所有会话。

安装

# macos
$ brew install tmux

# Ubuntu 或 Debian
$ sudo apt install tmux

# CentOS 或 Fedora
$ sudo yum install tmux

使用

# 新建默认会话(默认从 0 开始编号)
$ tmux

# 新建命名会话
$ tmux new -s <session-name>

# 分离会话
$ tmux detach

# 退出会话
$ exit

# 查看会话列表
$ tmux ls

# 接入会话
$ tmux a -t <session-name>

# 切换会话
$ tmux switch -t <session-name>

# kill会话
$ tmux kill-session -t <session-name>

常用组合键

前缀键(Prefix Key)用来告诉 Tmux 下一个按键是给 Tmux 的命令,区分大小写,默认为 Ctrl+b,为了方便按下,我将其改为了 Ctrl+a

常用组合键 行为
prefix c 在当前会话中创建新窗口
prefix w 显示交互式窗口选择列表
prefix p/n 切换到当前会话的上一个/下一个窗口
prefix l 切换上一个访问的窗口
Ctrl+d 关闭当前窗口

配置

创建配置文件,让 Tmux 更符合使用习惯:

~/.tmux.conf
# 解绑默认的前缀键 Ctrl+b
unbind C-b

# 绑定新的前缀键 Ctrl+a
set-option -g prefix C-a

# 绑定发送前缀
# 连按两次 Ctrl+a,能穿透 tmux 向终端内的工具发送一个 Ctrl+a
bind C-a send-prefix

# 绑定重新加载tmux配置组合键 Ctrl+a r
bind r source-file ~/.tmux.conf ; display "Config reloaded!"

# 启用鼠标模式(能用鼠标滚轮查看历史输出)
set -g mouse on

# 禁用 tmux 右键菜单
unbind-key -n MouseDown3Pane
unbind-key -n MouseDown3Status

# 设置历史缓冲区大小
set -g history-limit 50000

# 使用 vi 风格复制模式
set -g mode-keys vi

# 设置状态栏(WSL,使用蓝色背景,白色字体)
set -g status-style bg=blue
set -g status-right "SuperPOW #(date +'%Y-%m-%d') #(date +'%H:%M') #(date +'%A')"
# 设置状态栏(MacOS,使用白色背景,黑色字体)
set -g status-style bg=white,fg=black
set -g status-right "MacMini #(date +'%Y-%m-%d') #(date +'%H:%M') #(date +'%A')"

修改配置后需要重新载入才能生效,在 tmux 会话中按下 Ctrl+b : 进入命令模式,输入以下命令来重新加载配置:

:source-file ~/.tmux.conf

参考资料

Tmux 使用教程 - 阮一峰
Tmux使用介绍 - 上海交大超算平台用户手册

使用tmux摆脱断连烦恼

https://thinklong.me/tmux/

作者

ThinkLong

发布于

2026-05-08

更新于

2026-05-08

许可协议

评论

+