viki wrote:
I have file containing >20 pairs of pathnames, one pair per line:

       /path1/to/file1.OLD /path2/to.file1.NEW
       etc.

I need to open vimdiff on multiple pairs of files
such that I can switch forward to next pair, backward to
previous pair, each time seeing vimdiff of that pair.
How can I do it ? Is there a plugin that does such thing ?

Within your pathname file, you should be able to enter this (in case it line-breaks between here and there, it should all be on one line)

:nnoremap <buffer> <f4> :sil! only <bar> let [a,b]=split(getline('.'))[:1] <bar> exec "sp ".a <bar> exec "below vert diffsplit ".b<cr>

It chokes if you only have one filename on the line, and tromps variables named "a" and "b" in the local context, but should allow you to easily hit <f4> on any line in your file and get a diff of the two files.

Note that because Vim only allows diffing up to 4 files (and I believe they all have the same differences tested, so in your case, 2 is a more practical limit) it closes all other windows (intentionally the diffing windows, but will also close other windows you have open) with :only so that the next opening gives you a fresh diff. The limit is documented at ":help E96".

-tim




--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

To unsubscribe, reply using "remove me" as the subject.

Reply via email to