2012-05-24 18 views
44

Estoy usando :set showmatch para resaltar el corchete o corchete coincidente cuando el cursor está sobre uno.Establecer el soporte vim destacando los colores

Me gustaría cambiar el color de resaltado para que sea radicalmente diferente del color del cursor, porque tengo la situación que se muestra en las capturas de pantalla.

Cuando el cursor se encuentra sobre el segundo refuerzo:
Cursor over the second brace

y cuando el cursor se encuentra a la inmediata derecha de la abrazadera:
Cursor to the right

Esto utiliza mi esquema de color terminal, que es tomado desde Solarized. Desafortunadamente, es un poco doloroso ver qué resaltado es la coincidencia de corsé y cuál es el cursor, cuando los tirantes están muy juntos.

¿Existe un valor de vim que puedo usar para cambiar el color de ese valor a, por ejemplo, bold magenta ANSI? No estoy particularmente interesado en reasignar mis colores ANSI dentro de la terminal o shell - Me gustaría una opción específica de vim, si existe.

Respuesta

61

puede cambiar los colores a, por ejemplo, azul sobre el verde

hi MatchParen cterm=none ctermbg=green ctermfg=blue 

sólo hay que poner en su archivo vimrc.

básicamente, cterm determina el estilo, que puede ser none, underline o bold, mientras ctermbg y ctermfg son, como su nombre indica, fondo y primer plano los colores, por lo que cambiar ellos como mejor le parezca.

para su caso, es posible que desee

hi MatchParen cterm=bold ctermbg=none ctermfg=magenta 
+6

Gracias por esto! Si usa la versión de GUI, esto funciona bastante bien. "Hola MatchParen guibg = NINGUNO guifg = azul gui = negrita" –

+2

Maldición ... ¡Estaba buscando esto desde 1 año! Muchas gracias – Kursion

+0

Me encontré con esta respuesta mientras estaba buscando cómo desactivar esa característica (MatchParen), porque los colores me parecieron tan irritantes (molokai). Alguien debería arreglar el valor predeterminado ... – JepZ

3

estoy usando el esquema de color con vividchalkmacvim, y ninguna de las diversas soluciones que probé trabajado para mí. Pero he buscado el archivo:

~/.vim/colors/vividchalk.vim 

para MatchParen y me encontré con esta línea:

call s:hibg("MatchParen","#1100AA","DarkBlue",18) 

lo comenté a cabo esa línea, a continuación, he copiado esa línea, y lo cambié a:

call s:hibg("MatchParen","#FF0000","Red",18) 

que logró resaltar el paréntesis correspondiente en rojo, que es MUCHO más fácil de ver. Espero que eso ayude a alguien más.

Si desea saltar brevemente al corchete de apertura/paren/corsé al escribir el paréntesis de cierre/paren/corsé, a continuación, añadir:

set showmatch 

a ~/.vimrc trabajó para mí.

Un truco muy útil es fijar el cursor sobre un soporte/paren/corsé y escribiendo % para saltar al soporte de coincidencia/paren/aparato ortopédico.Esto es especialmente útil cuando el parche/paréntesis/corsé correspondiente se ha desplazado de la página. Si escribe % por segunda vez, volverá al lugar de donde vino.

2

Pruebe :!ls $VIMRUNTIME/colors estos son los esquemas de color predeterminados. Cambie el esquema de color :colorscheme name encuentre el esquema de color que desee y copie el esquema de color :!cp $VIMRUNTIME/colors/<name>.vim ~/.vim/colors/new_name.vim edítelo y configúrelo con el comando esquema de color o mejor agregue colorscheme name al archivo vimrc. Después de los cambios en el archivo de color :colorscheme name se vuelven a cargar los colores de Vim. Es práctico :vsp vim, edite el archivo de colores en una mitad, verifique los cambios en otra. Utilicé nye17 respuesta y agregué la línea hi MatchParen a mi color_file.vim, funciona bien.
Enlaces:
Vim help
How to control colors
About Termianl colors

Cuestiones relacionadas