I've configured Vim as git difftool in .gitconfig
[diff]
tool = vimdiff
If there are changes in N files, i have to close vim (:qa) to see the next diff.
How do i navigate to the next/previous diff without quitting vim?
Use the diff tool specified by <tool>. Valid values include emerge, kompare, meld, and vimdiff. Run git difftool --tool-help for the list of valid <tool> settings. If a diff tool is not specified, git difftool will use the configuration variable diff.
Description. Vimdiff starts Vim on two (or three or four) files. Each file gets its own window. The differences between the files are highlighted. This is a nice way to inspect changes and to move changes from one version to another version of the same file.
There is no way to tell vimdiff to go to the next file, because git difftool
invocates vimdiff for each diff file.
So when you end vimdiff with qa
, git diff
executes vimdiff again with the next file. From vimdiff's perspective there is no next diff file.
You can suppress the prompt for launching vimdiff, which makes it less annoying:
git config --global difftool.prompt false
But, as you already found out yourself, the vim plugin vim-fugitive is the way to go. This excellent plugin offers various commands for diffing and merging.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With