fba*_*dos 4 git vim diff vimdiff neovim
与 进行比较时,我将其用作vimdiff工具git difftool。
我想将 2 次提交与git difftool <commit1> <commit2>. 今天,我必须退出每个 vimdiff 视图:qa才能进入下一个文件对。有时,这种类型的比较的文件对列表可能会很大。然后,我必须输入:qa数十次(或:cq完成后)。
有没有办法在 或类似的东西中显示所有比较的文件对(至少有 1 个更改QuickFix)Location List?
然后,必须更容易获得概述并滚动所有更改并仅显示所选文件的差异。
我的摘录.gitconfig:
[diff]
tool = vimdiff
[difftool]
prompt = false
# Be able to abort all diffs with `:cq` or `:cquit`
trustExitCode = true
Run Code Online (Sandbox Code Playgroud)
vimdiff --version:
[diff]
tool = vimdiff
[difftool]
prompt = false
# Be able to abort all diffs with `:cq` or `:cquit`
trustExitCode = true
Run Code Online (Sandbox Code Playgroud)
git --version:
VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Apr 18 2022 19:26:30)
Included patches: 1-3995
Run Code Online (Sandbox Code Playgroud)
实际上vimdiff不是。tool = vimdiff vimdiff这个脚本并不能真正满足您的需求。
遗憾的是,-d如 中所示的标志$ git difftool -d并没有什么帮助。它会打开两个 Netrw 窗口,您可以在其中有效地查看哪些文件发生了更改,但整个用户体验比重复(甚至一百次)要笨重得多::qa<CR>
IMO,与 GUI difftools 中提供的 UX 相比,这是一个令人痛苦的事情:
但是,既然您提到了快速修复,您可能会喜欢git-jump,它可以让您执行以下操作:
$ git jump diff
Run Code Online (Sandbox Code Playgroud)
这对于从一个更改导航到另一个更改非常有用,但并不能真正帮助解决查看实际差异的问题。
也许像这样的第三方插件可以提供帮助,但您必须想出适当的 Git 集成。
这听起来是一个很酷的周末项目。