如何正确配置nvim作为Git默认提交消息编辑器?
问题描述
已将nvim设为Git全局core.editor,但执行git commit时,使用:wq保存并关闭提交消息文件后会报错:
hint: Waiting for your editor to close the file... error: There was a problem with the editor '/usr/bin/nvim'.
Please supply the message using either -m or -F option.
只有先执行yy操作后再:wq才能正常提交。相关版本信息:
- nvim版本:
NVIM v0.9.5 - Git版本:
git version 2.44.0 - 终端:
rxvt-unicode (urxvt) v9.31
解决方案
强制nvim前台运行
重新配置Git的编辑器参数,确保nvim在前台启动,让Git能正确检测到编辑器关闭事件:git config --global core.editor "nvim -f"排查nvim配置冲突
检查~/.config/nvim/init.lua或~/.vimrc中是否存在覆盖:wq默认行为的映射,或者会话管理类插件阻止nvim正常退出。可临时重命名配置文件,使用nvim默认配置测试git commit是否正常。修复终端环境变量
确保urxvt使用兼容的TERM环境变量,执行echo $TERM查看当前值,建议设置为rxvt-unicode-256color:
在~/.Xresources中添加:URxvt.termName: rxvt-unicode-256color执行
xrdb ~/.Xresources生效后重启终端测试。验证nvim基础退出行为
直接在终端用nvim打开临时文件,输入内容后执行:wq,检查是否能正常关闭nvim进程。如果此处也有异常,说明问题出在nvim或终端本身,而非Git配置。
内容的提问来源于stack exchange,提问作者Paippi
相关产品推荐
相关产品推荐

