WSL bash环境下使用Git for Windows启动Vim报错的解决方法
解决Windows版Git在WSL bash中启动Vim报错的问题
我之前也碰到过一模一样的问题,这其实是因为Windows版Git在WSL的bash环境中调用编辑器时,没有正确把输入输出绑定到WSL的终端设备上,导致Vim识别不到终端环境,才会弹出那两条警告。下面给你两个可行的解决方案,你可以根据自己的习惯选:
方案一:让Windows Git调用WSL原生的Vim
如果你平时更习惯用WSL里配置好的Vim(比如有自定义的.vimrc插件或配置),可以直接让Git指向WSL的Vim:
- 先在WSL bash里找到Vim的安装路径,运行:
一般会输出类似which vim/usr/bin/vim的路径。 - 配置Git的全局编辑器,用
wsl.exe做桥接调用WSL的Vim:
(如果你的Windows系统版本较旧,git config --global core.editor "/mnt/c/Windows/System32/wsl.exe /usr/bin/vim"wsl.exe可能在/mnt/c/Windows/sysnative/路径下,根据实际情况调整即可)
方案二:用winpty包装Windows版Vim
如果你想继续使用Windows端的Vim,需要借助winpty来模拟终端环境,让Vim能正确识别WSL的输入输出:
- 先检查当前Git的编辑器配置:
如果之前设置的是git config --global core.editorvim或vim.exe,接下来修改它。 - 重新配置为带
winpty的命令:git config --global core.editor "winpty vim.exe"winpty会帮Windows版Vim打通和WSL终端的连接,解决输入输出不匹配的问题。
验证配置
完成配置后,运行git commit测试一下,正常情况下Vim应该能直接启动,不会再弹出终端相关的警告了。
如果还是有问题,可以检查这两点:
- 运行
winpty --version确认它在WSL的PATH中可用 - 确保你用的WSL终端(比如Windows Terminal、Ubuntu默认终端)有完整的终端权限
内容的提问来源于stack exchange,提问作者sainjori
相关产品推荐
相关产品推荐

