Reputation: 18000
Scenario: I have opened Vim and pasted some text. I open a second tab with :tabe
and paste some other text in there.
Goal: I would like a third tab with a output equivalent to writing both texts to files and opening them with vimdiff
.
The closest I can find is "diff the current buffer against a file", but not diff
ing two open but unsaved buffers.
Upvotes: 124
Views: 40248
Reputation: 1925
The content of all tabs are inside the buffers. Look at the buffers:
:buffers
Find the right number for the content which should be diffed with your current tab content.
Open the buffer inside your current tab (f.e. buffer number 4)
:sb 4
Or do for vertical view:
:vertical sb 4
Then you can simple diff the content with
:windo diffthis
If you finished diff analysis you can input:
:windo diffoff
Upvotes: 5
Reputation: 2091
When you have two files opened in vertical splitt, run
:windo diffthis
Upvotes: 27
Reputation: 2490
I suggest opening the second file in the same tab instead of a new one.
Here's what I usually do:
:edit file1
:diffthis
:vnew
:edit file2
:diffthis
The :vnew
command splits the current view vertically so you can open the second file there. The :diffthis
(or short: :difft
) command is then applied to each view.
Upvotes: 194