事物的版本:
我正在尝试在Git Bash中使用vimdiff,但得到E97:Cannot create diffs error。从那里,两个文件彼此相邻打开,但是没有语法帮助。退出两个文件并返回到bash终端后,我将看到以下内容:
/usr/bin/bash: /usr/share/vim/vim81diff: No such file or directory
在我看来,Git Bash在diff程序中查找的位置错误。但是它仍然将文件传递到vim中,所以我不确定。 Git Bash带来了它自己的vim副本,其中包含所有支持文件
/usr/share/vim/vim81/
但其中包含exe文件(vimdiff.exe,vim.exe等)
/usr/bin/
如果我跑步
$ which -a vimdiff
它返回
/usr/bin/vimdiff
/bin/vimdiff
/usr/bin/vimdiff
这是全新安装的Git。
我已经使用了Git Bash文件夹中vimdiff的完整路径。我还创建了两个测试文件,并在/ usr / bin /目录中对它们运行vimdiff并获得了相同的结果。
如果我通过进入cmd并转到同一目录并在相同文件上使用它们来在本地安装vim,它将按预期工作。这只是在Git Bash中发生的。我想将vimdiff设置为我的git difftool,但需要使vimdiff正常工作。
关于导致此问题的原因以及如何解决的任何想法?
答案 0 :(得分:2)
实际上,系统正在diff程序中寻找它。 我遇到了同样的问题,并通过在vim期望的地方创建到diff工具的链接来解决了这个问题。
/usr/share/vim
ln -s /usr/bin/diff vim81diff
在我的〜/ _vimrc文件中,有一个MyDiff()函数,该函数期望diff可执行文件由后缀为$VIMEXECUTUABLE
的{{1}}组成,从而导致diff
,而不是在我的git bash安装中。
我不知道问题是否重要,但是我在Windows 10上安装了单独的vim 8.1,该安装使用相同的_vimrc。