必须配置 Git 的 core.editor 为 "subl -n -w" 并确保 subl 命令可用且在 PATH 中,否则 Git 会因无法调用编辑器而弹出 Vim 或报错;-w 参数强制等待关闭文件,-n 避免窗口复用冲突。

Git 提交时弹出 Vim 或其他编辑器,不是因为你没装 Sublime Text,而是 Git 根本不知道该调用它——必须显式配置 core.editor,且路径和启动参数要对,否则会卡住、闪退或提交失败。
确认 Sublime Text 的命令行工具已安装
Sublime Text 自带的 subl 命令是关键入口。没它,Git 无法调用;装了但不在 $PATH 里,Git 也找不到。
- macOS:打开 Sublime Text → Sublime Text → Install Command Line Tools(菜单路径),完成后终端运行
subl --version应返回版本号 - Windows:安装时勾选 Add to PATH;若已安装,可手动把
subl.exe所在目录(如C:\Program Files\Sublime Text\)加进系统环境变量PATH - Linux:需手动创建软链接,例如
sudo ln -s /opt/sublime_text/subl /usr/local/bin/subl
配置 Git 使用 subl 作为 core.editor
Git 默认不阻塞等待编辑器关闭,而 subl 默认后台启动、立刻返回,导致 Git 误以为编辑已完成,直接读空文件提交——必须加 -w(wait)参数。
- 全局配置(推荐):
git config --global core.editor "subl -n -w" -
-n避免复用已有窗口导致焦点混乱;-w强制 Git 等待文件关闭后再继续 - 验证是否生效:
git config --global core.editor应输出subl -n -w - 若用 Windows PowerShell,引号要用双引号,且路径含空格时需额外转义(建议优先用 Git Bash)
提交时仍弹出 Vim 或报错 “unable to start editor”
常见于路径未识别、权限不足或参数冲突,不是配置没生效,而是执行链断在中间。
- 检查
subl是否真能被 Git 调用:在终端执行git commit --allow-empty -m "test",然后立即运行git commit --amend,看是否唤起 Sublime - macOS 上如果提示
Unable to find a $EDITOR to use,说明 Git 没读到core.editor,可能是用了--system或--local配置覆盖了全局设置 - Windows 用户若用 VS Code 同时装了,可能
code命令抢占了subl别名,用where subl确认实际调用路径 - 某些 Git GUI 客户端(如 GitHub Desktop)不读取
core.editor,需单独设置其内置编辑器选项
真正麻烦的不是配一次,而是不同 shell(zsh/bash/PowerShell)、不同 Git 安装方式(Xcode command line tools / brew / 官网 pkg)、不同 Sublime 版本(Build 4143+ 对 -w 行为有微调)之间存在隐性差异。每次换机器或重装系统,都要重新过一遍 subl --version → git config → git commit --amend 验证闭环。

















