直接用 git config --global core.editor "code --wait" 即可生效,但前提是 code 命令必须已加入系统 path 且 --wait 参数不可省略。

Git 默认编辑器配不对,90% 的问题出在 core.editor 没写对命令或参数,而不是编辑器没装好。
git config --global core.editor 命令怎么写才生效
别碰 $EDITOR 环境变量——它会影响所有工具,且 Git 读取顺序靠后,容易被覆盖。直接用 git config --global core.editor 是最稳的方式。
- VS Code:必须带
--wait,否则 Git 不等你输完就提交空消息:git config --global core.editor "code --wait" - Sublime Text:
-w表示等待关闭,-n防止复用窗口导致焦点错乱:git config --global core.editor "subl -n -w" - Notepad++:路径含空格必须单引号包裹整个字符串,
-multiInst是关键,否则 Git 收不到退出信号:git config --global core.editor "'C:/Program Files/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin" - Atom:
atom --wait是标准写法,Windows 用户若报command not found,得先在 Atom 里执行atom.openApplicationShell()启用 shell 命令支持
为什么 git commit 还是打开 vi 或报 “unable to start editor”
这不是 Git 故障,而是调用链断在某个环节。常见断点有三个:
GitHub 仓库备份技能 - 将 OpenClaw 工作空间自动或手动备份至 GitHub 私有仓库。支持自动定时备份和手动交互式配置,引导完成 Token 配置、仓库创建、首次备份及定时任务设置。用途:(1) 首次设置 (2) 日常备份。
- 执行
git config --list --show-origin,看core.editor实际来自哪个文件——本地仓库的.git/config会覆盖全局配置,很多人改了全局却忘了删本地旧配置 - Git Bash 下路径解析和 Windows 原生命令不兼容:不能写
C:\Program Files\...,要转成/c/Program Files/...;路径带空格时,单引号必须包住整个命令字符串,不能只包路径 - 编辑器命令本身不可用:在终端直接运行
code --version、subl --version或notepad++.exe -v,失败说明不是 Git 配置问题,而是 shell 找不到该命令(Git Bash 不读 Windows PATH)
编辑器启动了但提交信息不生效或被丢弃
这是编码和换行符惹的祸,尤其 Windows 上 Notepad++ 和 VS Code 默认行为不一致:
- Notepad++ 必须手动设为:新建文档 → 编码选
UTF-8(不是UTF-8-BOM),行尾格式选Unix (LF);保存时别点“另存为”,直接Ctrl+S - VS Code 默认就是 UTF-8 + LF,一般没问题;但如果开了 “files.autoSave”: “on”,可能在未完成编辑时就触发保存,Git 读到空内容后静默中止
- Sublime Text 若用了插件自动格式化,可能把 LF 转成 CRLF,也会触发
Aborting commit due to empty commit message
真正麻烦的不是第一次配通,而是不同环境(Git Bash / PowerShell / WSL / GitHub Desktop)对同一配置的理解不一致——比如 GitHub Desktop 完全不读 core.editor,得单独设它的 GUI 编辑器选项。










