gpt4 book ai didi

git - E97 : Cannot create diffs 表示 Vimdiff 无法在 Git Bash 中工作

转载 作者:行者123 更新时间:2023-12-02 20:17:57 28 4
gpt4 key购买 nike

事物的版本:

  • 操作系统:Win 8.1
  • Vim:8.1
  • Git:2.18.0.windows.1
  • GNU bash:4.4.19(2)

我尝试在 Git Bash 中使用 vimdiff 但收到 E97:Cannot create diffs 错误。从那里,两个文件彼此相邻打开,但没有针对差异的语法帮助。一旦我退出这两个文件并返回 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 工作。

知道是什么原因造成的以及如何解决它吗?

最佳答案

事实上,系统正在一个不存在的地方寻找 diff 程序。我遇到了同样的问题,并通过在 vim 期望的位置创建一个指向 diff 工具的链接来解决它。

  • 在 git bash 中,转到 /usr/share/vim
  • 创建链接:ln -s/usr/bin/diff vim81diff

在我的 ~/_vimrc 文件中,有一个 MyDiff() 函数,它期望 diff 可执行文件由 $VIMEXECUTUABLE 后缀为 diff 组成,从而产生 vim81diff,我的 git bash 安装中没有它。

我不知道这对问题是否重要,但我在 Windows 10 上安装了单独的 vim 8.1,它使用相同的 _vimrc。

关于git - E97 : Cannot create diffs 表示 Vimdiff 无法在 Git Bash 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51997507/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com