ato*_*oms 2 git vim vimdiff git-bash
事物的版本:
我尝试在 Git Bash 中使用 vimdiff 但出现 E97:Cannot create diffs 错误。从那里,两个文件彼此相邻打开,但没有针对差异的语法帮助。一旦我退出这两个文件并返回 bash 终端,我会看到以下内容:
/usr/bin/bash: /usr/share/vim/vim81diff: No such file or directory
Run Code Online (Sandbox Code Playgroud)
在我看来,Git Bash 正在错误的位置寻找 diff 程序。但它仍然将文件传递到 vim,所以我不确定。Git Bash 带来了自己的 vim 副本,所有支持文件都位于其中
/usr/share/vim/vim81/
Run Code Online (Sandbox Code Playgroud)
但exes(vimdiff.exe,vim.exe等)在
/usr/bin/
Run Code Online (Sandbox Code Playgroud)
如果我跑
$ which -a vimdiff
Run Code Online (Sandbox Code Playgroud)
它返回
/usr/bin/vimdiff
/bin/vimdiff
/usr/bin/vimdiff
Run Code Online (Sandbox Code Playgroud)
这是来自全新安装的 Git。
我使用了 Git Bash 文件夹中 vimdiff 的完整路径。我还创建了两个测试文件并在 /usr/bin/ 目录内运行 vimdiff 并得到了相同的结果。
如果我通过转到 cmd 并转到同一目录并在相同文件上使用它们来使用本地安装的 vim,它会按预期工作。这正发生在 Git Bash 中。我想将 vimdiff 设置为我的 git difftool,但需要让 vimdiff 工作。
知道是什么原因造成的以及如何解决它吗?
小智 5
事实上,系统正在寻找 diff 程序,但它并不存在。我遇到了同样的问题,并通过在 vim 期望的位置创建 diff 工具的链接来解决它。
/usr/share/vimln -s /usr/bin/diff vim81diff$VIMEXECUTUABLE在我的 ~/_vimrc 文件中,有一个 MyDiff() 函数,期望 diff 可执行文件由后缀组成diff,结果为vim81diff,这在我的 git bash 安装中不存在。
我不知道这对问题是否重要,但我在 Windows 10 上有一个单独的 vim 8.1 安装,它使用相同的 _vimrc。
| 归档时间: |
|
| 查看次数: |
1956 次 |
| 最近记录: |