RMUX 配置文件 rmux.conf 完全指南:如何快速打造符合人体工学的终端配置
【免费下载链接】rmuxUniversal Rust multiplexer with a typed SDK — drive any CLI or TUI app from code. Native on Linux, macOS, and Windows.项目地址: https://gitcode.com/gh_mirrors/rm/rmux
RMUX 是一款用 Rust 编写的跨平台终端复用器,支持 tmux 风格命令,可在 Linux、macOS 和 Windows 原生运行。本文将带你完整掌握 RMUX 配置文件rmux.conf:从配置文件放在哪里、如何快速上手,到逐条讲解能显著提升手感的关键配置项,帮你轻松打造一套符合人体工学的终端配置。
一、rmux.conf 到底放在哪里?📍
RMUX 按固定的搜索顺序自动读取配置文件,理解搜索顺序是写好 RMUX 配置文件的第一步。
Linux / macOS 上的搜索顺序:
/etc/rmux.conf(系统级)~/.rmux.conf$XDG_CONFIG_HOME/rmux/rmux.conf~/.config/rmux/rmux.conf
Windows 上的搜索顺序:
%XDG_CONFIG_HOME%\rmux\rmux.conf%USERPROFILE%\.rmux.conf%APPDATA%\rmux\rmux.conf%RMUX_CONFIG_FILE%
💡 新手推荐直接把个人配置写在
~/.rmux.conf(Windows 为%USERPROFILE%\.rmux.conf),一个文件搞定所有偏好。
另外还有一个贴心的兼容设计:当你没有任何 RMUX 配置文件时,RMUX 还会回退检查标准的tmux.conf位置,用 tmux 兼容方式尽力加载(不支持的 plugin 行只会被报告,不会中止启动)。设置RMUX_DISABLE_TMUX_FALLBACK=1可禁用该回退。更多细节见 docs/i18n/README.zh-CN.md。
二、快速上手:人体工学入门配置 ⚡
不想从零写配置?仓库里已经内置了一份官方的人体工学入门配置,直接抄作业即可:
- 官方说明:docs/human-friendly-config.md
- 完整配置文件:docs/examples/human-friendly.conf
它的定位是"默认保持原生终端的直觉操作,只在需要时增强",核心思路包括:
- 更安全的 prefix:换成
C-a,避免在 shell 里高频误触C-b(行首跳格) - 默认关闭鼠标模式:拖拽、双击选择保持普通终端手感,需要窗格鼠标行为时再按键临时开启
- 保留当前工作目录:新建窗口/窗格自动继承当前路径,不再
cd回地狱 - 非 US 键盘友好:为
%、"等难按的键增加纯字母替代绑定 - 显式剪贴板钩子:按平台选择一条命令,复制直接进系统剪贴板
下面逐条讲解这些"手感提升点"。
三、关键配置项详解 🧩
3.1 换一个更安全的 prefix
# 把前缀键从 C-b 换成 C-a,减少与 shell 的冲突 set -g prefix C-a unbind C-b bind C-a send-prefixprefix 是所有快捷键的"总开关"。C-a在 Emacs 之外的场景冲突更少,长时间敲 shell 时手更省心;send-prefix保留了发送原始C-a的能力。
3.2 鼠标模式:默认关,按需开
set -g mouse off bind T if-shell -F '#{mouse}' \ 'set -g mouse off ; display-message "mouse OFF: 原生终端选择已启用"' \ 'set -g mouse on ; display-message "mouse ON: 窗格鼠标模式已启用"'这是人体工学配置里最有意思的权衡:
mouse on时,RMUX 会接管鼠标拖拽/双击,支持窗格内选择、拖边框调整大小,但原生终端选择行为会"变样"- 默认
mouse off+ 一键切换prefix + T,两种体验随时自由切换
很多终端还支持Shift + 拖拽强制原生选择,可作为补充手段。
3.3 一组"幸福感"小开关
set -g history-limit 100000 # 每个窗格保留 10 万行滚动历史 set -g renumber-windows on # 关闭窗口后自动重编号,不留空号 set -g base-index 1 # 窗口从 1 开始编号(符合直觉) setw -g pane-base-index 1 # 窗格同样从 1 开始 setw -g mode-keys vi # 复制模式用 vi 键位 set -g status-keys vi # 状态栏也用 vi 键位这几行是"用了就回不去"的典型:窗口编号从 1 开始、关窗不留空洞、历史回看足够长,vi 党在复制模式和状态栏里都能用方向键之外的hjkl流操作。
3.4 记住当前目录的分屏绑定
bind % split-window -h -c "#{pane_current_path}" # 左右分屏 bind '"' split-window -v -c "#{pane_current_path}" # 上下分屏 bind v split-window -h -c "#{pane_current_path}" # 键盘友好替代 bind b split-window -v -c "#{pane_current_path}" bind c new-window -c "#{pane_current_path}"-c "#{pane_current_path}"是关键:新窗格/新窗口直接继承当前目录。同时保留经典 tmux 键位(%、")并增加字母键(v、b)——对 AZERTY 等非 US 键盘布局特别友好。
一个常见疑问:执行new-window后只看到一个 shell,是坏了吗?不是的——new-window创建的是"标签页"式的窗口,split-window才是当前屏幕里的再分割窗格,两者心智模型不同。
3.5 复制文本直达系统剪贴板 📋
# 四选一,按平台取消注释: # set -s copy-command 'powershell -NoProfile -NonInteractive -Command "[Console]::InputEncoding=[Text.Encoding]::UTF8; Set-Clipboard -Value ([Console]::In.ReadToEnd())"' # set -s copy-command 'pbcopy' # macOS # set -s copy-command 'wl-copy' # Linux Wayland # set -s copy-command 'xclip -selection clipboard' # Linux X11 bind [ copy-mode bind -T copy-mode-vi v send-keys -X begin-selection bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel bind -T copy-mode-vi C-c send-keys -X copy-pipe-and-cancel配合后的日常复制流程:prefix + [进入复制模式 →hjkl/方向键移动 →v开始选择 →y复制并退出。C-c只在复制模式内用于复制,不会误杀 shell。
⚠️ Windows 用户注意一个隐蔽的编码坑:RMUX 会把选中内容以原始 UTF-8 字节写入命令的标准输入(与 tmux 完全一致)。而 Windows 控制台下子进程默认用 OEM 代码页解码,裸clip.exe会把框线字符、中文、emoji 全部变成乱码——所以官方 Windows 命令里显式声明了 UTF-8 编码。想彻底绕开外部命令,可用set -s set-clipboard on走 OSC 52(base64 负载,天然免疫代码页问题)。
四、改完配置怎么生效?🔄
两种方式:
- 重启会话最简单:退出并重新
rmux attach,配置随 server 启动重新加载 - 绑定热重载键,改完即生效:
# 可选:按 prefix + r 立即重载配置 bind r source-file "$HOME/.config/rmux/rmux.conf" \; display-message "rmux.conf reloaded"注意把路径改成你自己的实际配置路径即可。
临时想验证某份独立配置而不影响日常环境?启动时用-f显式指定:
rmux -f /path/to/experiment.conf配置加载或行为有疑问时,跑一下rmux diagnose可查看当前生效的配置来源与诊断信息,man 手册中-f选项说明见 docs/man/rmux.1。
五、新手常见问题 ❓
Q1:我已经会写 tmux.conf,能直接用吗?能。RMUX 兼容 tmux 命令语法,且在没有 RMUX 配置文件时会自动回退加载标准tmux.conf位置;不支持的 plugin 行只会被报告,不会阻止启动。
Q2:配置写错了会启动失败吗?建议小步修改 + 热重载键验证。source-file重载出错时会给出提示,且不影响已运行的 server,随时可以再改。
Q3:配置文件会影响自动化脚本吗?RMUX 提供 typed SDK(Rust/Python/TypeScript)从代码驱动任意 CLI/TUI,SDK 通过本地 daemon 工作,与交互式rmux.conf配置互不干扰,可参考 docs/scripting-sdk.md。
总结:一份好的 RMUX 配置文件rmux.conf不需要很长——换 prefix、调鼠标模式、保留工作目录、选对剪贴板命令、加个热重载键,大约 20 行就能显著改变终端使用手感。从 docs/examples/human-friendly.conf 起步,按个人习惯微调,就是打造符合人体工学的终端配置的最短路径。🚀
【免费下载链接】rmuxUniversal Rust multiplexer with a typed SDK — drive any CLI or TUI app from code. Native on Linux, macOS, and Windows.项目地址: https://gitcode.com/gh_mirrors/rm/rmux
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考