code - vim html autocomplete
Vim resalta una lista de palabras (3)
: coincide con Todo / / </ (word1 / | word2 / | word3 /) /> /
Necesito resaltar una lista de palabras en vim, preferiblemente las palabras deben definirse en un archivo. Un poco como la corrección ortográfica. He estado buscando en http://vim.wikia.com/wiki/Highlight_multiple_words pero requiere que defina cada palabra como una nueva posición y no admito el almacenamiento de las palabras en un archivo (aunque se pueden almacenar).
Le recomendaría que utilice la syn keyword
para esto. Hay otras opciones como :match
como lo sugieren y syn match
, etc., pero todas se basan en coincidencias de expresiones regulares. La desventaja de esto es que a medida que aumenta el número de palabras que desea emparejar, la velocidad de Vim disminuye. Las coincidencias de palabras clave son mucho más rápidas. 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
Coloque estas líneas en cualquier archivo y :source
o volcado en su ~/.vim/after/syntax/c.vim
para que sea source
d automáticamente para todos los archivos C (elija su archivo de sintaxis para el tipo de archivo que está interesado en).
Al igual que con la respuesta de , el primer parámetro ( Todo
en este caso) es el grupo destacado. Si lo desea, puede crear su propio grupo 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
Puedes usar el comando :match
.
:match Todo /word1/
El primer parámetro del comando es el grupo de resaltado (para ver todos los grupos disponibles :highlight
). El segundo parámetro es un patrón de búsqueda.
Puedes ponerlos en cualquier archivo y cargarlos a través de :source
.
Otra forma es cambiar la expresión regular (thx @zpon):
:match Todo /word1/|word2/|word3/
Si quieres resaltarlos de forma diferente:
:match Todo /word1/
:2match Error /word2/
:3match Title /word3/