基于 Windows Git Bash 的命令工具集,支持 iTerm2 风格标签页:Ctrl+T 在同一窗口新建标签页。
- Ctrl+T — 同一 mintty 窗口新建标签页
- Ctrl+W — 关闭当前标签页
- Ctrl+Tab — 切换标签页
- cs new / cs here — 命令行方式新建标签页
- cs win — 新建独立窗口
- cs mark / cs go — 目录书签
- cs cd / cs jump — 快速目录跳转
双击运行 install.bat,安装脚本会自动:
- 写入
~/.bashrc(每次打开 Git Bash 自动加载cs命令) - 必要时补全
~/.bash_profile对.bashrc的加载 - 配置 mintty 标签页快捷键
安装后只需重新打开 Git Bash,无需手动 source。
cd /d/code/cmdshow
bash scripts/install.sh安装脚本会:
- 在
~/.bashrc中加载 cmdshow - 在
~/.minttyrc中启用标签栏(TabBar=1) - 在
~/.minttyrc.keys中配置Ctrl+T = new-tab(不能写在.minttyrc里) - 在
~/.inputrc中释放 Ctrl+T(避免与 readline 冲突) - 清理之前误写入
.minttyrc的快捷键(修复Ignoring unknown option 'Ctrl+t')
cs help # 查看帮助
cs new # 新建标签页(同一窗口)
cs here # 在当前目录新建标签页
cs root # 在 git 仓库根目录新建标签页
cs win # 新建独立窗口
cs mark backend # 添加书签
cs marks # 列出书签
cs go backend # 跳转到书签mintty 的标签页是 虚拟标签(3.5+):多个终端窗口位置同步叠加,顶部显示标签栏,效果类似 iTerm2,而非浏览器内嵌 DOM。
关键配置:
| 设置 | 值 | 作用 |
|---|---|---|
TabBar |
4 |
启用标签栏 + 高级同步 |
SessionGeomSync |
4 |
外部启动的窗口也加入同一标签组 |
Ctrl+T |
bash bind | 每个标签页自动绑定,调用 cs new |
之前弹新窗口的原因:误用了不存在的 --tab 参数,且 TabBar=1 同步级别不够。
cmdshow/
├── bin/cmdshow # CLI 入口
├── lib/
│ ├── core.sh # 核心函数(检测 Git、新建窗口)
│ ├── commands.sh # 命令实现
│ └── init.sh # bash 初始化
├── config/
│ ├── minttyrc # mintty 终端设置(TabBar 等)
│ ├── mintty.keys # mintty 快捷键(→ ~/.minttyrc.keys)
│ └── inputrc # readline 配置
├── scripts/install.sh # 安装脚本
└── install.bat # Windows 一键安装
在 lib/commands.sh 的 cmdshow_dispatch 中添加新 case 即可:
mycommand) _cs_cmd_mycommand "$@" ;;- Git for Windows(含 Git Bash / mintty)
从 ~/.bashrc、~/.minttyrc、~/.minttyrc.keys、~/.inputrc 中删除 # cmdshow: 标记块即可。