git 使用与 zsh 不同的 vim 版本

git 使用与 zsh 不同的 vim 版本

我在 vim 中安装了一个名为 YouCompleteMe 的插件。当安装了此插件的 vim 启动时,如果 vim 版本低于最低要求,它会发出警告。

我正在使用 vim 7.3.754,它可以运行 YCM,但是当我执行诸如git merge或 之类的命令时git commit --amend,我会看到警告:

YouCompleteMe unavailable: requires Vim 7.3.584+

我的问题是:为什么 git 使用的 vim 版本与 zsh 不同,我怎样才能让它使用相同的版本?

答案1

根据man git-vargit 确定编辑器使用以下顺序:

优先顺序是 $GIT_EDITOR 环境变量,然后是 core.editor 配置,然后是 $VISUAL,然后是 $EDITOR,最后是 vi。

我猜你没有设置任何这些变量,所以 git 采取vi-- 通常在vi 兼容模式(取决于您的分布)。

因此,请检查最新的 vim 位于何处:

which vim

然后将此可执行文件定义为默认的 git 编辑器:

git config --global core.editor /usr/bin/vim

或者,设置 也不错$VISUAL。其他程序也使用此环境变量。为此,请包括

export VISUAL=/usr/bin/vim

在你的~/.zshrc并做source ~/.zshrc

答案2

Git 使用 或$EDITOR$VISUAL您在 中$GIT_EDITOR指定的编辑器。core.editor~/.gitconfig

相关内容