功能描述
根据 pane 中正在运行的命令自动命名 pane,让用户一眼就能知道每个 pane 在做什么。
使用场景
当有多个 pane 时,默认的「pane 0」「pane 1」命名毫无信息量。用户需要逐个查看才能找到想要的 pane。
建议实现
自动检测策略
- 前台进程检测: 读取 pane 的前台进程名称
- Shell 命令解析: 解析当前执行的命令
- 特殊规则: 对常见程序设置友好名称
规则示例
| 命令 |
显示名称 |
| vim/nvim |
vim: filename |
| htop/btop |
系统监控 |
| git/lazygit |
Git |
| npm run dev |
npm: dev |
| python script.py |
python: script |
| ssh user@host |
ssh: host |
配置选项
# keybinds.conf
auto_rename_pane on
rename_interval 5 # 每 5 秒更新一次
手动覆盖
允许用户手动设置名称,自动检测只在没有手动设置时生效:
技术实现
通过 PTY 获取前台进程组 ID,然后读取 /proc//comm 或使用 ps 命令获取进程名。
优先级
低 - 这是一个用户体验改进,不影响核心功能
相关项目参考
- tmux 的 automatic-rename 选项
- byobu 的状态栏显示
功能描述
根据 pane 中正在运行的命令自动命名 pane,让用户一眼就能知道每个 pane 在做什么。
使用场景
当有多个 pane 时,默认的「pane 0」「pane 1」命名毫无信息量。用户需要逐个查看才能找到想要的 pane。
建议实现
自动检测策略
规则示例
配置选项
手动覆盖
允许用户手动设置名称,自动检测只在没有手动设置时生效:
技术实现
通过 PTY 获取前台进程组 ID,然后读取 /proc//comm 或使用 ps 命令获取进程名。
优先级
低 - 这是一个用户体验改进,不影响核心功能
相关项目参考