Comment

Comment by seewhat

Another suggestion, if you haven't ruled it out.

I enjoy using console vimdiff in PuTTY, because my configuration allows quick navigation without too much thought.

The accumulated time for starting vim can become annoying when iterating over many files. (I could investigate loading diff pairs into tabs if I was sufficiently bothered.)

Helpful .vimrc settings:-

Firstly, map some keys to navigate to preceding/successive differences...

  " Next/ previous diff (analogous to j/k, use the same fingers)
  nmap <F6> ]czt
  nmap <F7> [czt
And some helper keys...

  " Diff update, i.e. repaint the screen when needed
  nmap <F5> :diffupdate<CR>
  
  " Get from Buffer 1/ 2/ 3/ 4
  nmap <F1> :diffget 1<CR>
  nmap <F2> :diffget 2<CR>
  nmap <F3> :diffget 3<CR>
  nmap <F4> :diffget 4<CR>
Configure all visible windows when starting via vimdiff or diffthis. I prefer no folding (for added context) and then to navigate with the above keys.

  " Apply window-local settings to all diff windows
  au! FilterWritePost * if &diff | set wrap | set foldcolumn=0 | set nofoldenable | endif
Finally, set some colors...

  " Override the diff colours
  highlight DiffAdd term=reverse cterm=NONE ctermbg=darkblue ctermfg=white
  highlight DiffDelete term=reverse cterm=NONE ctermbg=black ctermfg=blue
  highlight DiffChange term=reverse cterm=NONE ctermbg=darkgray ctermfg=white
  highlight DiffText term=reverse cterm=bold ctermbg=brown ctermfg=white
Not implemented here is a toggle to ignore whitespace changes (perhaps mapped to <F8>).
parent seewhat 12 years ago

No comments yet

Be the first to share your thoughts.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton