💾 Archived View for republic.circumlunar.space › users › johngodlee › posts › 2020-03-10-vimdiff.gmi captured on 2023-06-14 at 14:51:28. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2021-12-04)
-=-=-=-=-=-=-
DATE: 2020-03-10
AUTHOR: John L. Godlee
Here is the relevant part of my .vimrc which deals with vimdiff. Annoyingly, but maybe necessarilly, vimdiff uses a lot of different options to normal vim.
" Disable folding set diffopt+=context:99999 " Disable diffing on whitespace set diffopt+=iwhite " Softwrap lines au VimEnter * if &diff | execute 'windo set wrap' | endif " Disable syntax highlighting if &diff syntax off endif " Change highlight colours so they are less garish hi DiffAdd cterm=none ctermfg=NONE ctermbg=Red hi DiffChange cterm=none ctermfg=NONE ctermbg=Gray hi DiffDelete cterm=none ctermfg=NONE ctermbg=Red hi DiffText cterm=none ctermfg=NONE ctermbg=DarkGray
Ordinarily, if large chunks of the two diffed files are identical, they are folded away to avoid distraction. I don't actually like that, I get confused about where in the document I am, so I disable it with set diffopt+=context:99999.
Diffing on whitespace is almost always a bad idea, so that's disabled by default.
By default, lines in vimdiff run off the edge of the page, which makes it difficult to see differences between files. That's dumb, so softwrap is used instead.
When syntax highlighting is used there are too many conflicting colours on the page, making it hard to follow what needs to be changed, so syntax highlighting is disabled.
Finally, to further help with the super bright colours, I redefine the colours used show differences between files, so only the background colours are changed. This way the colours are never too loud even with different colour schemes.