小编典典

使用 vimdiff 查看所有 `git diffs`

all

我设置为使用“ Git Diff with
Vimdiff
git diff ”作为指南包装到
vimdiff,除非有很多文件有更改,否则它会按预期工作。

当有多个文件有更改并且我运行git diff时,它会打开第一个文件,并且在退出 vimdiff 的第一个实例后,我会看到以下消息:

external diff died, stopping at filename

这是与我习惯的完全不同的行为。过去我使用 SVN
进行了类似的设置,当比较多个文件时,我会查看第一个文件,然后写入并退出使用:wq,下一个有差异的文件会打开。

这不是 Git 的情况。我试过:n[ext]了,但这样做不会用原始文件填充左侧窗口,以便可以将其与修改后的版本进行比较。


阅读 68

收藏
2022-05-31

共1个答案

小编典典

git config --global diff.tool vimdiff
git config --global difftool.prompt false

键入git difftool会产生预期的行为。

导航命令,

  • :qa在 vim 中循环到变更集中的下一个文件而不保存任何内容。

别名(示例)

git config --global alias.d difftool

.. 将让您键入git d调用 vimdiff。

高级用例,

  • 默认情况下,git 使用 -R 选项调用 vimdiff。你可以用 git config –global difftool.vimdiff.cmd ‘vimdiff “$LOCAL” “$REMOTE”’ 覆盖它。这将以可写模式打开 vimdiff,允许在差异时进行编辑。
  • :wq在 vim 中循环到更改集中的下一个文件并保存更改。
2022-05-31