Windows 上的 Tmux 使用指南

Windows 上的 Tmux 使用指南

什么是 tmux

tmux(Terminal Multiplexer)是一个终端多路复用器,允许用户在一个终端中运行多个会话、窗口和面板。对于需要在服务器上同时管理多个任务的用户来说,tmux 是不可或缺的工具。

虽然 tmux 本身是为 Unix/Linux 系统设计的,但通过一些方案,Windows 用户也可以享受 tmux 带来的便利。

Windows 上的 tmux 方案

方案一:itmux(推荐)

itmux 是一个轻量级、可移植的终端多路复用器,专为 Windows 设计,绑定了 Tmux、Mintty、OpenSSH 和最小的 Cygwin 环境。

特点:

  • 便携版,无需安装
  • 包含完整的 tmux 功能
  • 与 Mintty 终端集成良好
  • 支持 OpenSSH

下载:

方案二:WSL(Windows Subsystem for Linux)

如果你使用 Windows 10/11,推荐使用 WSL,它提供完整的 Linux 环境,可以直接安装 tmux。

安装 tmux:

1
2
3
4
5
6
# Ubuntu/Debian
sudo apt-get update
sudo apt-get install tmux

# CentOS/RHEL
sudo yum install tmux

使用:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
# 启动 tmux
tmux

# 创建命名会话
tmux new -s myproject

# 列出所有会话
tmux ls

# 连接到已有会话
tmux attach -t myproject

# 退出但保持会话
Ctrl+b d

方案三:Cygwin

Cygwin 是一个在 Windows 上运行 Unix 环境的程序,也可以用来运行 tmux。

安装 Cygwin:

  1. 下载 Cygwin 安装程序
  2. 选择安装 tmux 包
  3. 运行 tmux.exe

注意: Cygwin 版本可能功能有限,建议使用 WSL 或 itmux。

方案四:Windows Terminal + WSL

这是目前 Windows 上体验最好的方案:

  1. 安装 Windows Terminal(Microsoft Store)
  2. 安装 WSL(如 Ubuntu)
  3. 在 WSL 中安装 tmux
1
sudo apt-get install tmux

基础使用教程

会话管理

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
# 创建新会话
tmux new -s session_name

# 列出所有会话
tmux ls

# 连接到会话
tmux attach -t session_name

# 断开会话
Ctrl+b d

# 杀死会话
tmux kill-session -t session_name

窗口操作

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
# 创建新窗口
Ctrl+b c

# 切换窗口
Ctrl+b n  # 下一个
Ctrl+b p  # 上一个
Ctrl+b 0-9  # 切换到指定编号窗口

# 重命名窗口
Ctrl+b ,

# 列出所有窗口
Ctrl+b w

面板操作

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
# 垂直分屏
Ctrl+b %

# 水平分屏
Ctrl+b "

# 切换面板
Ctrl+b 方向键

# 调整面板大小
Ctrl+b :

# 输入 resize-pane -D/U/L/R 调整

# 关闭面板
Ctrl+b x

常用快捷键

快捷键 功能
Ctrl+b ? 显示所有快捷键
Ctrl+b [ 进入复制模式
Ctrl+b , 重命名当前窗口
Ctrl+b : 进入命令模式

配置优化

配置文件位置

  • 全局配置:/etc/tmux.conf
  • 用户配置:~/.tmux.conf

常用配置

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
# 启用鼠标支持
set -g mouse on

# 设置前缀为 Ctrl+a
unbind C-b
set -g prefix C-a
bind C-a send-prefix

# 启用 256 颜色
set -g default-terminal "screen-256color"

# 状态栏配置
set -g status-bg colour233
set -g status-fg colour231

主题推荐

可以使用 tmuxline 或插件来美化状态栏:

1
2
3
4
5
6
# 安装插件管理器
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm

# 在 .tmux.conf 中添加
set -g @plugin 'tmux-plugins/tmux-sensible'
run '~/.tmux/plugins/tpm/tpm'

在开发中的实际应用

1. 项目开发

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
# 创建开发会话
tmux new -s dev

# 窗口1: 编辑器
vim

# 垂直分屏运行服务器
Ctrl+b %
npm run dev

# 水平分屏运行测试
Ctrl+b "
npm test

2. 服务器运维

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# 创建运维会话
tmux new -s ops

# 窗口1: 监控
htop

# 窗口2: 日志
tail -f /var/log/syslog

# 窗口3: SSH 连接
ssh user@server

3. 持续集成

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# 窗口1: 代码编辑
vim

# 窗口2: 构建
make build

# 窗口3: 测试
make test

# 窗口4: 部署
./deploy.sh

与其他工具对比

特性 itmux WSL + tmux Windows Terminal
安装难度 简单 中等 中等
性能
互操作性 有限 优秀 优秀
跨系统
维护活跃 中等

常见问题

1. 快捷键冲突

如果 Ctrl+b 与其他软件冲突,可以修改配置:

1
2
3
4
# 改为 Ctrl+a
set -g prefix C-a
unbind C-b
bind C-a send-prefix

2. 复制粘贴

Windows 上使用 tmux 复制需要进入复制模式:

  1. Ctrl+b [ 进入复制模式
  2. 使用方向键移动
  3. Space 开始选择
  4. Enter 复制
  5. Ctrl+b ] 粘贴

3. 编码问题

如果遇到中文显示问题:

1
2
3
4
5
# 设置 UTF-8
set -g default-terminal "xterm-256color"

# 在 .bashrc 中添加
export LANG=zh_CN.UTF-8

总结

虽然 tmux 原生不支持 Windows,但通过 WSL、itmux 等方案,Windows 用户也可以享受终端多路复用带来的便利。对于需要高效管理终端的用户,建议:

  • 轻度用户:使用 itmux,便携简单
  • 开发者:使用 WSL + Windows Terminal,功能最全
  • 系统管理员:掌握多种方案,灵活应对

tmux 可以大大提高终端使用效率,值得学习和使用。

参考链接

  • itmux GitHub:https://github.com/itefixnet/itmux
  • tmux 官方:https://github.com/tmux/tmux
  • WSL 安装:https://docs.microsoft.com/en-us/windows/wsl/