How to expand/collapse a diff sections in Vimdiff?
Aside from the ones you mention, I only use frequently when diffing the following:
:diffupdate
:diffu
-> recalculate the diff, useful when after making several changes vim's isn't showing minimal changes anymore. Note that it only works if the files have been modified inside vimdiff. Otherwise, use::e
to reload the files if they have been modified outside of vimdiff.
:set noscrollbind
-> temporarily disable simultaneous scrolling on both buffers, reenable by:set scrollbind
and scrolling.
Most of what you asked for is folding: vim user manual's chapter on folding. Outside of diffs I sometime use:
zo
-> open fold.zc
-> close fold.
But you'll probably be better served by:
zr
-> reducing folding level.zm
-> one more folding level, please.
or even:
zR
-> Reduce completely the folding, I said!.zM
-> fold Most!.
The other thing you asked for, use n lines of folding, can be found at the vim reference manual section on options, via the section on diff:
set diffopt=<TAB>
, then update or addcontext:n
.
You should also take a look at the user manual section on diff.
Actually if you do Ctrl+W W
, you won't need to add that extra Ctrl
. Does the same thing.
set vimdiff to ignore case
Having started vim diff with
gvim -d main.sql backup.sql &
I find that annoyingly one file has MySQL keywords in lowercase the other uppercase showing differences on practically every other line
:set diffopt+=icase
this updates the screen dynamically & you can just as easily switch it off again