引言

如果你在 Linux 或 macOS 上用过 tmux,一定熟悉它的强大:会话持久化、窗口分割、多路复用。但回到 Windows 后,这些便利似乎消失了。WSL?太重。Cygwin?太慢。直到 psmux 出现。

psmux 是一个用 Rust 编写的原生 Windows 终端复用器,它不是 tmux 的移植版,而是从底层重新实现,直接使用 Windows ConPTY API。它支持 tmux 命令语言、读取 .tmux.conf 配置文件,甚至兼容 tmux 主题。

一、安装 psmux

方法 1:使用 WinGet

winget install psmux

方法 2:使用 Cargo

cargo install psmux

方法 3:使用 Scoop

scoop bucket add psmux https://github.com/psmux/scoop-psmux
scoop install psmux

方法 4:使用 Chocolatey

choco install psmux

二、快速开始

基本操作

操作快捷键
创建新窗口Ctrl+b c
切换窗口Ctrl+b n / Ctrl+b p
分离会话Ctrl+b d
重新附加psmux attach
列出会话psmux ls

分割窗格

  • 水平分割(左右):Ctrl+b %
  • 垂直分割(上下):Ctrl+b "
  • 在窗格间切换:Ctrl+b 方向键

三、核心功能

1. 完整的鼠标支持

  • 点击窗格直接聚焦
  • 拖动边框调整大小
  • 点击状态栏切换窗口
  • 滚轮滚动历史输出

2. tmux 配置兼容

直接复制 .tmux.conf 到 ~/.tmux.conf 即可使用。

3. 复制模式(Vi 风格)

进入:Ctrl+b [

  • hjkl 移动光标
  • /pattern 搜索
  • v 可视模式
  • y 复制

4. 布局管理

  • Ctrl+b Alt+1~5:5 种预定义布局
  • Ctrl+b Space:循环切换布局

四、高级用法

会话管理

psmux new-session -s work
psmux attach -t work
psmux ls

窗格操作

  • 放大:Ctrl+b z
  • 关闭:Ctrl+b x
  • 拆分为新窗口:Ctrl+b !

脚本自动化

psmux new-session -d -s dev
psmux split-window -h -t dev
psmux send-keys -t dev:0.0 "cd project" Enter
psmux send-keys -t dev:0.1 "npm run dev" Enter

五、实战场景

前端开发工作流

psmux new-session -s frontend
# 分割为三个窗格
# 窗格 1:npm run dev
# 窗格 2:npm test --watch
# 窗格 3:code .

多项目监控

psmux new-session -s monitor
# 平铺布局:Ctrl+b Alt+5
# tail -f logs/error.log
# htop
# docker stats

六、性能优势

  • 启动时间:< 100ms
  • 内存占用:~10MB/会话
  • CPU 开销:几乎为零

七、常见问题

Q: psmux 和 tmux 有什么区别?
A: psmux 是 Windows 原生实现,支持 92 个 tmux 命令,覆盖 90% 常用功能。

Q: 如何修改前缀键?
A: 在 ~/.tmux.conf 中配置:

set -g prefix C-a
unbind C-b
bind C-a send-prefix

Q: 支持哪些主题?
A: 所有 tmux 主题都兼容(Catppuccin、Dracula、Nord 等)。

八、生态项目

  • pstop:Windows 版 htop
  • psnet:网络流量监控
  • Tmux Plugin Panel:插件管理器
  • OMP Manager:Oh My Posh 主题工具

安装:

cargo install pstop psnet tmuxpanel omp-manager

总结

psmux 填补了 Windows 终端复用器的空白,是从底层为 Windows 重新设计的原生解决方案。

项目地址:https://github.com/psmux/psmux

更多推荐