Cómo cargar un esquema de colores diferente al hacerlo vimdiff
.
Quiero esto porque mi esquema de colores actual no muestra algunas diferencias correctamente en vimdiff
, For. por ejemplo, se muestran algunas diferencias con el mismo color fg / bg. Esto hace que sea muy difícil entender la diferencia. Así que cada vez que hago un vimdiff
tengo que hacer:colorscheme some_other_scheme
¿Se puede hacer esto en el .vimrc
archivo?
;
los scripts de shell, por lo que puede agregar nuevas 'líneas':if &diff | colorscheme xyz | cmd2 | cmd3 | endif
colorscheme some_other_scheme
buscará a través de sus rutas de tiempo de ejecucióncolor/some_other_scheme.vim
. Puede ver sus rutas de tiempo de ejecución:set runtimepath?
desde vim.No sé por qué vim usa tantos colores para resaltar, realmente no te ayuda a descubrir qué está pasando.
Modifiqué mi esquema de colores para usar solo un color para resaltar (con otro para mostrar dónde hay una diferencia dentro de una línea) e hizo toda la diferencia.
antes de
Después
Lo hice agregando lo siguiente al final de mi archivo de esquema de colores (
~/.vim/colors/mycolorscheme.vim
).cterm
- establece el estiloctermfg
- establecer el color del textoctermbg
- establecer el resaltadoDiffAdd
- se agregó la líneaDiffDelete
- se eliminó la líneaDiffChange
- se cambió parte de la línea (resalta toda la línea)DiffText
- la parte exacta de la línea que cambióUsé este enlace como referencia para los números de color.
Nota: No configuré las opciones de interfaz gráfica de usuario porque uso un esquema de colores diferente para macvim / gvim
fuente
Para responder mi propia pregunta:
fuente
Encontré que la forma más fácil era pegar esta línea en mi archivo ~ / .vimrc:
fuente
Todo
lugar deMatchParen
porque se destaca más.Si se encuentra con esquemas de color ilegibles (no solo feos, sino ilegibles como el texto blanco sobre fondo rosa), una solución fácil puede ser usar 16 colores en lugar de 256 colores. Entonces no tiene que meterse con los esquemas de color.
La razón es que el esquema de color vimdiff predeterminado se asigna
DiffChange bg
como "LightMagenta", que se asigna a un rosa muy claro en 256 colores. Eso es ilegible con texto blanco. Con 16 colores, el "LightMagenta" se asigna a un magenta en negrita, en el que el texto blanco se ve mucho mejor.Puede realizar una prueba rápida haciendo algo como esto:
Captura de pantalla de 256 colores
Captura de pantalla de 16 colores
Como puede ver, los 16 colores son mucho más legibles, sin cambiar la combinación de colores.
Para hacer esto permanente, puede agregar
set t_Co=16
a su.vimrc
fuente
t_Co
se estableció en 8, incrementándoloset t_Co=256
enormemente a una legibilidad mejorada.molokai: github: los dos temas github y molokai son igualmente hermosos.
Ponga el siguiente código en su ~ / .vimrc, puede elegir github o molokai (una línea que comienza con un "es un comentario):
fuente
Para las personas que usan el excelente tema Solarized , hay una opción que activa la alta visibilidad para el modo diff:
"normal"
"alto"
"bajo"
fuente
En realidad, descubrí que el principal culpable del mismo color fg / bg se debe al conflicto entre el resaltado de sintaxis de código y el esquema de colores diff. Puede intentar cambiar el esquema de colores de diferencias, pero puede ser un juego de whack-a-mole cuando abre diferentes tipos de archivos (con resaltado de sintaxis de código diferente).
Una solución segura es deshabilitar el resaltado de sintaxis en vimdiff. Puedes escribir:
:syntax off
O si desea hacer esto automáticamente cada vez, agregue esto al final de su
~/.vimrc
:fuente
Otro enfoque es arreglar ese esquema de color.
Hasta donde yo sé, generalmente hay cuatro grupos destacados en relación con la diferenciación: DiffAdd, DiffChange, DiffDelete y DiffText. Si no desea que le moleste la sintaxis o ajustar los colores a su gusto, probablemente podría copiar su esquema de color predeterminado con otro nombre a ~ / .vim / colors (cree el directorio si no existe) y copie y pegue los comandos correspondientes: hola de su combinación de colores alternativa al final de su nueva combinación de colores personalizada, comentando opcionalmente cualquier otra declaración relacionada con diff en el mismo.
Y si el resultado es una mejora obvia, envíe un correo electrónico al responsable del esquema de color con sus cambios y pídale que analice el problema. Existe una buena posibilidad de que él le agradezca su interés y que arregle su esquema de color para que otros usuarios también se beneficien.
fuente
/etc/vim/vimrc
o~/.vimrc
: si usa un fondo oscuro dentro del área de edición y resaltado de sintaxis, active también esta opciónset background=dark
fuente
Yo uso lo siguiente cuando uso vimdiff desde vim:
La parte con la declaración else es importante porque así es como vuelves a tu configuración anterior después de terminar con diff'ing. Para que pueda reemplazar
syntax off
ysyntax on
con loscolorscheme
comandos respectivos . Este autocmd maneja el cambio de una configuración y la revierte al salir de vimdiff (lo usoGdiff
para ser precisos).fuente
Para ampliar en @dean y algunas otras respuestas aquí, agregue esto a su
.vimrc
:fuente