Sunday, March 27, 2011

Re: Scrolling "by timestamp"

> As far as changing diff's strategy is concerned, I'm stuck. The only
> promising option for the diff that came with my Windows installation of
> vim is
> -H Assume large files and many scattered small changes
> But I still get
>
> 000 0 gljjpqumLP
>
> 001 0 bLUiouhx8L
>
>
> 002 0 k6TKP7yHv1
> 003 0 7eDtRBOi6U
>
> 004 0 YLulNJm2dr
> 005 0 sCSDdCyx2E
>
> when I would like to get
>
> 000 0 gljjpqumLP
>
> 001 0 bLUiouhx8L
>
> 002 0 k6TKP7yHv1
>
> 003 0 7eDtRBOi6U
>
> 004 0 YLulNJm2dr
>
> 005 0 sCSDdCyx2E
>
> when comparing vdt0 to vdt1 (which doubles each timestamp)

Maybe do a bit more preprocessing of your files before sending them to
diff, making the first line with any given timestamp unique so diff
'synchronises' on those. A little loop like this after your :s command
might do the trick (if it isn't too slow).

let lltxt = ""
let lnum = 1
while lnum <= line("$")
let ltxt = getline(lnum)
if ltxt != lltxt
call setline(lnum,ltxt."*")
let lltxt = ltxt
endif
let lnum = lnum + 1
endwhile

I guess it can be used to try out the concept anyway, and if it works
but needs a speed boost, someone will have some ideas how to make it
better.

Ben.

--
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

No comments: