¿Cómo personalizo los colores de vimdiff?


22

Estoy tratando de usar vimdiff como mi herramienta de combinación git, pero los colores utilizados lo hacen insoportable (al menos en Windows / Mingw): el color de fondo y el color de primer plano son los mismos para algunas de las líneas en conflicto, lo que lo hace innecesariamente difícil para averiguar qué está pasando (vea las líneas que contienen a continuación include=).

ejemplo

Respuestas:


13

Los colores están controlados por estos cuatro grupos de resaltado ( :help hl-DiffAdd):

DiffAdd     diff mode: Added line
DiffChange  diff mode: Changed line
DiffDelete  diff mode: Deleted line
DiffText    diff mode: Changed text within a changed line

Por lo general, estos se definen mediante un esquema de color , pero puede personalizarlos en su ~/.vimrc(después del :colorschemecomando) si lo desea en general, pero no su resaltado de diferencias. Solo redefinir usando :highlight. Aquí están mis personalizaciones personales (para GVIM; para el terminal necesita los ctermfg/bg=...atributos apropiados en su lugar / además):

hi DiffAdd      gui=none    guifg=NONE          guibg=#bada9f
hi DiffChange   gui=none    guifg=NONE          guibg=#e5d5ac
hi DiffDelete   gui=bold    guifg=#ff8080       guibg=#ffb0b0
hi DiffText     gui=none    guifg=NONE          guibg=#8cbee2

Si está cambiando los esquemas de colores sobre la marcha, debe volver a invocar esos :hicomandos a través de:autocmd ColorScheme * hi ...


11

Una solución rápida es deshabilitar el resaltado de sintaxis. A veces, el resaltado de la sintaxis del código hará que el texto de primer plano sea del mismo color que el color de fondo de vimdiff, haciendo que el texto sea "invisible".

:syntax off

Si desea hacer esto automáticamente para vimdiff, agréguelo al final de su ~/.vimrc:

if &diff
    syntax off
endif
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.