news 2026/9/28 20:58:52

psmux 与 tmux 兼容性全矩阵:90+ 命令、140+ 格式变量,哪些功能开箱即用

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
psmux 与 tmux 兼容性全矩阵:90+ 命令、140+ 格式变量,哪些功能开箱即用

psmux 与 tmux 兼容性全矩阵:90+ 命令、140+ 格式变量,哪些功能开箱即用

【免费下载链接】psmuxTmux on Windows Powershell - tmux for PowerShell, Windows Terminal, cmd.exe. Includes psmux, pmux, and tmux commands. This is native High-Performance Tmux designed for Windows in Rust 🦀项目地址: https://gitcode.com/gh_mirrors/ps/psmux

psmux是一款原生 Windows 终端复用器(Terminal Multiplexer),用 Rust 编写、直接运行在 PowerShell / cmd / Windows Terminal 上,无需 WSL。它的核心卖点是tmux 兼容性:实现 90+ 个 tmux 命令、140+ 格式变量,并能直接读取你的~/.tmux.conf。这篇文章带你快速过一遍这份"兼容性全矩阵",搞清楚哪些 tmux 功能装上就能用、哪些有细微行为差异。

一、兼容性总览:psmux 和 WSL 里的 tmux 怎么选

官方兼容矩阵(见 docs/compatibility.md)给出的对比很直观:

能力psmuxWindows Terminal 标签页WSL + tmux
会话持久化(detach/reattach)✅❌⚠️ 仅 WSL
读取.tmux.conf✅❌✅
tmux 主题✅❌✅
同步窗格(synchronized panes)✅❌✅
原生 Windowsshell支持✅✅❌
脚本化(90+ 命令)✅❌✅
零依赖✅✅❌(需要 WSL)

一句话结论:你的脚本、配置和键位习惯,从 Linux 搬到 Windows 基本不用改。

二、90+ 条开箱即用的 tmux 命令

完整的命令与参数表见 docs/tmux_args_reference.md,这里按使用频率挑重点。

1. 会话、窗口与窗格管理(日常 90% 的操作)

  • new-session/attach-session/has-session:会话生命周期,支持-A -d -P等标志
  • new-window/split-window/join-pane/move-pane:split-window -p 30(按百分比分屏)、-c "#{pane_current_path}"(跟随当前目录)都正确生效
  • select-pane/select-window:方向导航支持 tmux 式的"越界回绕"(wrap),与上游行为一致
  • kill-pane/kill-window/kill-session:目标语法session:window.pane、%id、@id全支持

2. 键位、Hook 与条件逻辑(配置文件的灵魂)

  • bind-key/unbind-key:带键表(-T prefix/root/copy-mode),且区分大小写——bind-key T绑定的是 Shift+T,这是插件生态正常运行的前提
  • set-hook/show-hooks:支持 30 个事件 Hook(after-new-window、pane-died、window-linked等),重载时自动去重
  • if-shell/run-shell:配置里的条件逻辑完整可用,%if / %elif / %else / %endif也能直接在.tmux.conf中写
  • 命令可用;链式执行,与 tmux 一致

3. 交互与自动化

  • 交互式选择器:choose-tree、choose-buffer、choose-session(带实时预览)
  • 弹出层:display-popup、display-menu、command-prompt、confirm-before
  • 剪贴板缓冲:set-buffer/show-buffer/paste-buffer,支持命名缓冲(-b mybuf),可用于窗格间脚本传数据
  • 控制模式:-C/-CC程序化协议与 tmux 同一套 wire protocol(%begin/%end帧 + 异步通知),IDE 与 iTerm2 tmux gateway 可直接驱动
  • capture-pane -p:输出到 stdout,Claude Code 等多 Agent 编排就是靠它读窗格状态
  • -L <name>:服务器命名空间,跑多个互不干扰的 psmux 实例

想看自己版本里的实时清单,一条命令即可:

psmux list-commands

list-commands的官方文档原话是"live authority"——以它的输出为准,文档可能滞后。

三、140+ 格式变量:状态栏与脚本的"瑞士军刀"

psmux 的格式引擎(src/format.rs)支持完整的修饰符体系,常用分类如下:

类别变量示例说明
基础标识#S、#W、#P、#{session_name}、#{window_name}、#{pane_id}会话/窗口/窗格
路径与进程#{pane_current_path}、#{pane_current_command}、#{pane_start_command}、#{pane_title}做监控面板的核心
条件表达式#{?cond,true,false}、#{==:a,b}、#{!=:a,b}、#{<:a,b}状态栏条件渲染
逻辑运算#{&&:a,b}、#{||:a,b}组合判断
字符串操作#{b:}、#{d:}、#{l:}、#{q:}、#{s/pat/rep/:var}含正则替换
截断/填充#{=N:var}、#{pN:var}状态栏定宽排版
循环迭代#{W:fmt}、#{P:fmt}、#{S:fmt}多行状态栏的窗口列表
状态标志#{client_prefix}、#{window_zoomed_flag}、#{pane_dead}联动脚本与提示

比如状态栏里写set -g status-right "#{?client_prefix,#[bg=red] PREFIX ,}",按下前缀键时就会亮起来——这类插件级用法都开箱可用。

四、配置兼容:.tmux.conf直接生效

这是新手最关心的部分:装完就能用。psmux 自动读取~/.tmux.conf,包括:

  • 全局/会话/窗口/窗格四级作用域的set-option(-g/-s/-w/-p),窗口级选项独立存储,与 tmux 的解析链(pane → window → global)一致
  • 主题:20+ 样式选项,16 色 + 256 色 + 24-bit 真彩(#RRGGBB),Catppuccin、Dracula、Nord 等主流主题插件可装
  • set-environment/show-environment:会话级环境变量,新窗格自动继承
  • source-file:在会话内(Prefix + :)即可热加载配置,不必 detach

五、⚠️ 少量刻意不同的行为(不是 Bug)

兼容矩阵也诚实列出了与上游 tmux 的刻意差异(详见 docs/compatibility.md 对应章节):

  1. kill-server的命名空间规则:裸kill-server只结束默认命名空间,-L命名空间继续运行;psmux 扩展了kill-server -a一键清场。退出码遵循 tmux(无服务器时 exit 1),kill-server || true的写法照旧有效。
  2. 窗格退出时的后台进程:Windows 没有 SIGHUP,默认 psmux 会清理窗格遗留的后台子进程;想保持 tmux 式"后台存活",配置set -g @kill-descendants off。
  3. 反斜杠不转义:tmux 会把C:\src存成C:\\src,psmux 保持原样——否则 Windows 路径全部损坏。
  4. 编码:psmux 输出 UTF-8,而 Windows 控制台默认代码页常是 cp1252,Python 调用方记得encoding="utf-8"或设置PYTHONUTF8=1。
  5. #{pane_current_command}:Windows 下报告的是窗格直接子进程的可执行文件名(稳定、低成本),程序自改的标题需开启allow-set-title后从#{pane_title}读取。

六、快速自检:三步验证你的 tmux 资产能否平迁

psmux list-commands # ① 命令清单(live 权威) psmux show-options -g # ② 检查你的 .tmux.conf 是否被正确加载 psmux -V # ③ 版本号与构建信息

如果你的.tmux.conf里只有set-option、bind-key、set-hook、status-left/right这类常见配置,几乎可以认定 100% 可用;涉及set-hook事件名或较冷僻标志时,再对照上面的参考文档确认即可。

七、深入阅读与源码路径

资料路径
tmux 兼容矩阵(本文出处)docs/compatibility.md
命令与参数全表(90+ 命令逐条)docs/tmux_args_reference.md
完整特性列表docs/features.md
脚本化与自动化指南docs/scripting.md
配置项详解docs/configuration.md
控制模式协议(-C/-CC)docs/control-mode.md
命令解析源码src/commands.rs
格式引擎源码src/format.rs
配置加载源码src/config.rs

总结:psmux 的 tmux 兼容性覆盖了"日常使用 + 插件生态 + 脚本自动化"三层——90+ 命令管住操作面,140+ 格式变量管住展示面,.tmux.conf直读管住配置面。对新手来说,这意味着零学习成本:你只需要会 tmux,就已经会 psmux 了。🦀

【免费下载链接】psmuxTmux on Windows Powershell - tmux for PowerShell, Windows Terminal, cmd.exe. Includes psmux, pmux, and tmux commands. This is native High-Performance Tmux designed for Windows in Rust 🦀项目地址: https://gitcode.com/gh_mirrors/ps/psmux

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/28 20:57:29

单词拆分的动态规划解法

139. 单词拆分 - 力扣&#xff08;LeetCode&#xff09; 给你一个字符串 s 和一个字符串列表 wordDict 作为字典。如果可以利用字典中出现的一个或多个单词拼接出 s 则返回 true。 注意&#xff1a;不要求字典中出现的单词全部都使用&#xff0c;并且字典中的单词可以重复使用…

作者头像 李华
网站建设 2026/9/28 20:56:31

无需WSL:abtop在Windows上监控AI编码Agent与孤儿端口检测实战

无需WSL&#xff1a;abtop在Windows上监控AI编码Agent与孤儿端口检测实战 【免费下载链接】abtop Like htop, but for AI coding agents. Monitor Claude Code & Codex CLI sessions, tokens, context window, rate limits, and ports in real-time. 项目地址: https://g…

作者头像 李华
网站建设 2026/9/28 20:55:44

2026年智算互联芯片融资盘点:17家企业获投,4家迈入资本通道

智算集群的规模持续扩张&#xff0c;高速互联芯片正被推到产业链支出的前排。2026年以来&#xff0c;DPU、智能网卡、交换芯片、RDMA网络芯片、面向超节点的Scale-Up互联芯片&#xff0c;以及CPO/NPO光互联芯片等细分方向&#xff0c;融资与上市节奏明显提速。本文按最近一次融…

作者头像 李华