Configurar vim-diff para mostrar diferentes colores cuando se utiliza por SVN-diff
Pregunta
Me han puesto en marcha 'vimdiff' como mi herramienta de diferencias por defecto SVN-añadiendo la siguiente línea para ~/.subversion/config
diff-cmd = /home/ravikirn/svndiff/diffwrap.sh
diffwrap.sh
!/bin/sh
# Configure your favorite diff program here.
DIFF="/usr/local/bin/vimdiff"
# Subversion provides the paths we need as the sixth and seventh
# parameters.
LEFT=${6}
RIGHT=${7}
# Call the diff command (change the following line to make sense for
# your merge program).
$DIFF $LEFT $RIGHT
Pero, pone vimdiff todos los colores feos para mostrar el diff. Tengo fondo negro y letras de color verde, ¿cómo puedo modificar vimdiff para mostrar colores personalizados para esta diferencia? Quiero una experiencia más agradable con la misma.
Solución
Puede definir colores en el archivo de esquema de colores. Hay un par de toques de luz de grupo para vimdiff:
DiffAdd diff mode: Added line
DiffChange diff mode: Changed line
DiffDelete diff mode: Deleted line
DiffText diff mode: Changed text within a changed line
Antes de editar el archivo de esquema de colores, se puede empezar el experimento, mediante la definición de los colores en una sesión de vim, haciendo como:
:highlight DiffDelete ctermfg=black ctermbg=yellow
Después de encontrar sus colores, colocarlos en su colroscheme, y ser feliz. O simplemente colocar sus declaraciones de relieve en el interior "vimrc". Depende de lo que prefiera.
Por cierto, también se puede cambiar el esquema de colores cuando se hace dif. Por ejemplo, si lo prefiere un color diferente cuando se diferencian. Esto se hace esto:
if &diff
colorscheme some_other_scheme
endif
Buena suerte con experimentos