2010-11-12 18 views

Respuesta

32

Puede usar el comando :match.

:match Todo /word1/ 

El primer parámetro del comando es el punto culminante del grupo (para ver todos los grupos disponibles :highlight). El segundo parámetro es un patrón de búsqueda.

Puede ponerlos en cualquier archivo y cargarlo a través de :source.

Otra forma es cambiar la expresión regular (@zpon THX):

:match Todo /word1\|word2\|word3/ 

Si se desea resaltar de manera diferente:

:match Todo /word1/ 
:2match Error /word2/ 
:3match Title /word3/ 
+2

Cuando agrego más de una línea para archivarla es solo la última línea que se resalta – zpon

+5

Calculada,: coincide con VisualNOS/word1 \ | word2 \ | word3/ – zpon

+8

Tiene los comandos ': match',': 2match' y ': 3match' para hacer eso, y por lo tanto, puedes almacenar tres patrones. Pero también puede usar ': call matchadd()' (': help matchadd()'). – Benoit

13

recomendaría utiliza syn keyword para esto. Hay otras opciones como :match según lo sugerido por michael.kebe y syn match, etc., pero todas están basadas en coincidencias de expresiones regulares. La desventaja de esto es que a medida que aumenta el número de palabras que desea combinar, la velocidad de Vim disminuye. Las coincidencias de palabras clave son mucho más rápido. También puede definir fácilmente varias palabras clave en una línea (aunque hay un límite de aproximadamente 512 caracteres en una línea, si la memoria me sirve correctamente).

syn keyword Todo word1 word2 word3 
syn keyword Todo word4 
syn keyword Todo word5 

poner estas líneas en cualquier archivo y :source o volcar en su ~/.vim/after/syntax/c.vim para que sea source d automáticamente para todos los archivos de C (elija su archivo de sintaxis para el tipo de archivo que le interesa).

Al igual que con la respuesta michael.kebe, el primer parámetro (Todo en este caso) es el grupo resaltado. Usted puede hacer su propio grupo si quieres y definir el resaltado:

syn keyword MyHighlightGroup word6 word7 
" Then EITHER (define your own colour scheme): 
hi MyGroupName guifg=Blue ctermfg=Blue term=bold 
" OR (make the colour scheme match an existing one): 
hi link MyGroupName Todo 
+0

¿Hay alguna restricción en el método de palabra clave syn? No parece tener ningún efecto en uno de mis archivos tex, pero en todos los demás archivos – zpon

+0

Las únicas limitaciones que conozco son que los caracteres en la palabra deben ser todos caracteres de palabras clave (es decir, no ':' u otros símbolos) y que no puede usar una de las palabras clave de opciones relacionadas con la sintaxis especial de vim ('contenida', etc.). Para aquellos que usaría 'syn match MyHighlightGroup/\ /' o lo que sea. – DrAl

+0

Eso es extraño, solo he usado palabras normales como "eso" y "allí" – zpon

-1

: partido de Todo/\ < \ (palabra1 \ | palabra2 \ | word3 \) \>/

Cuestiones relacionadas