Reputation: 17147
I've have two files opened. They are opened in vertical mode, next to next. Can I instantly diff these two files without leaving or closing Vim ?
Upvotes: 133
Views: 28256
Reputation: 61
Following on the earlier answers I adapted the mapping provided by @cxw. The following mapping automatically closes NERDTree and diffs the open windows. It does not matter if NERDTree is closed, it works the same way. I do this quite often so it saved me quite some time.
command! Difft NERDTreeClose | windo diffthis
Upvotes: 6
Reputation: 7094
To begin diffing on all visible windows:
:windo diffthis
which executes :diffthis
on each window.
To end diff mode:
:diffoff!
(The !
makes diffoff
apply to all windows of the current tab - it'd be nice if diffthis
had the same feature, but it doesn't.)
Upvotes: 206
Reputation: 17051
Following up on the earlier answers,
:windo difft
(short for diffthis
) will start diff mode in all the open windows.:windo diffo
(short for diffoff
) will stop diff mode in all the open windows.I have the following mappings in my vimrc
to make it easier:
command! Difft windo diffthis
command! Diffo windo diffoff
Upvotes: 11
Reputation: 127608
in each of the windows you want to diff type:
:diffthis
If you want to diff all of the open windows, you can do:
:windo diffthis
(windo
will apply the command to all open windows)
Upvotes: 29