2010-07-16 13 views
7

Si configuro la opción cursorline obtengo mi línea actual del cursor subrayada y todos los caracteres cuyo color no se especifique también cambian a amarillo (el amarillo aparece solo si el grupo resaltado Normal no está intacto). Me pregunto, ¿dónde se define este color (amarillo)?¿Dónde se define el color de la línea del cursor?

Editar: Sé acerca de CursorLine resaltar grupo. El problema es que en colorscheme defecto que lo estoy usando no está definido y :hi CursorLine muestra

CursorLine  xxx term=underline cterm=underline 

donde xxx es de color amarillo y con subrayado. No deseo cambiar el color, quiero agregar el soporte cursorline para el complemento tipo 2html.vim, así que necesito un poco de grupo de resaltado/variable/etc de donde pueda obtener este color amarillo.

+1

pertenece en superuser.com –

+0

Ver mi respuesta editado por debajo de la base de su actualización. –

Respuesta

6

Editar: Puede consultar la mayoría de los valores para un grupo resaltado particular con la función synIDattr(). Por ejemplo, esto va a imprimir el color de primer plano asignado a CursorLine si se ha establecido:

:echo synIDattr(synIDtrans(hlID("CursorLine")), "fg") 

También puede determinar el estado de underline, undercurl, etc., con llamadas similares.

Un par de advertencias: synIDattr() es defectuoso e incompleto. Algunas veces devuelve -1 de forma inesperada, y actualmente no permite inspeccionar todos los atributos. (Un parche es supuestamente en los trabajos para la próxima versión de Vim.) Ver estos temas para obtener más información:

Problem with synIDattr()

Programmatically detect a current "highlight" setting?

Si synIDattr() no va a hacer lo que quiera, que podría ser más fácil para redirigir la salida del comando highlight a una variable y analizar usted mismo:

:redir => cursorline_highlight | silent highlight CursorLine | redir END 
:echo "CursorLine highlight: " . cursorline_highlight 

El color de la línea del cursor se puede configurar con un comando highlight como éste:

:highlight CursorLine term=underline guibg=#555555 cterm=underline 

Esto se hace normalmente dentro de un archivo colorscheme Vim, que contiene muchas de esas líneas para definir los colores de piezas de usuario Vim interfaz, así como para elementos sintácticos comunes como cadenas, números, palabras clave, etc.

Puede decirle a Vim qué combinación de colores usar emitiendo el comando colorscheme seguido de un nombre de esquema. Aquí están algunos para tratar:

:colorscheme desert 
:colorscheme evening 
:colorscheme koehler 

Sin embargo, la mayoría de los colorschemes incluido con Vim en realidad no contener una orden de realce para el elemento CursorLine, de modo Vim sólo utiliza su coloración cursorline predeterminado incorporado.

Para cambiar los colores de Vim utiliza para la cursorline, puede incluir su propio comando highlight en su archivo .vimrc ( después de que ha emitido ninguna orden colorscheme, de lo contrario sus colores claros podrían ser anulado).Mejor aún, puede crear su propio archivo de colorcheme y agregar allí la declaración destacada apropiada. (Facilítelo al encontrar un esquema de colores tolerable, luego cópielo y realice los cambios que desee)

Vim incluye varios archivos de esquemas de colores, y puede encontrar muchos más en línea. Aquí está un sitio que las previsualizaciones unos pocos cientos:

http://code.google.com/p/vimcolorschemetest/

Consulte los siguientes temas de ayuda para obtener más información:

:help :colorscheme 
:help :highlight 
:help hl-CursorLine 
0

En coloescemes, la propiedad del color de la cursorline se acaba de llamar "CursorLine ". Por ejemplo, el esquema de colores wombat utiliza esta línea:

hi CursorLine guibg=#2d2d2d 

Si desea cambiar un esquema de colores por defecto, los archivos se almacenan (en la mayoría de las distribuciones de Linux) en/usr/share/vim/vim72/colores.

Solo una nota: la opción CursorLine solo funciona desde Vim 7 hacia arriba, por lo que para el caso muy improbable que utilice ese esquema de color con una versión anterior a 7 (o Vi), debe solicitar la versión en el archivo colorcheme , por ejemplo:

if version >= 700 
    hi CursorLine guibg=#2d2d2d 
endif 
+0

No es recomendable cambiar los archivos en/usr/share/vim o en cualquier otra ubicación del sistema, de lo contrario, cuando actualice vim, tendrá que guardarlos y moverlos. Si te gusta uno de ellos y solo quieres cambiar algo, copia ese archivo en tu propio ~/.vim/colours/whatever.vim (te recomiendo cambiarle el nombre a un nuevo nombre de tu elección). Ahora edite ese archivo y cambie 'let g: colors_name' por el nombre que eligió para el archivo y cambie/agregue los grupos resaltados que desee. Tenga en cuenta que, en Windows, su ruta de usuario específica será '$ HOME \ vimfiles'. Puedes ver las rutas que usa vim en tiempo de ejecución con ': set rtp?'. – cptstubing06

Cuestiones relacionadas