Los elementos de sintaxis dentro de los cuales Vim resaltará los errores de ortografía se definen usando los clústeres @Spell
y @NoSpell
. Ver :help spell-syntax
(y el resto de los archivos :help spell
y :help syntax
) para más detalles.
La solución rápida y sucia para obtener el resultado deseado es crear un nuevo archivo en su directorio de configuración de Vim: .vim/after/syntax/html.vim
con el contenido:
syn region htmlString contained start=+"+ end=+"+ contains=htmlSpecialChar,javaScriptExpression,@htmlPreproc,@Spell
syn region htmlString contained start=+'+ end=+'+ contains=htmlSpecialChar,javaScriptExpression,@htmlPreproc,@Spell
Estas líneas definen el resaltado de sintaxis para los atributos HTML y se copiaron del archivo html.vim que se incluye en los archivos de sintaxis estándar de Vim. Luego agregué el @Spell
clúster al contains
campo para permitir la corrección ortográfica dentro de cada elemento de sintaxis.
Para aplicar esto solo a los atributos "título" y "datos- *" se requiere ajustar la expresión regular utilizada para hacer coincidir los elementos, y una edición un poco más amplia de la forma en que funciona el resaltado HTML. Aquí hay una solución que funciona solo para atributos de "título":
syn region htmlStringSpell contained start=+title=["']+hs=s+6 end=+["']+ contains=htmlSpecialChar,javaScriptExpression,@htmlPreproc,@Spell containedin=htmlTag,ScriptTag
hi def link htmlStringSpell String
nótese bien
- La expresión regular ahora incluye el nombre del
title
atributo y un desplazamiento para que esta parte del elemento de sintaxis no se incluya en el resaltado. (Ver :help syn-pattern-offset
)
- El elemento de sintaxis ahora tiene su propio nombre y, por lo tanto, debe (i) ser
containedin
todos los elementos de sintaxis en los que htmlStrings están contenidos a través de sus respectivas contains
configuraciones. (ii) tener su propio resaltado aplicado.
De
/usr/share/vim/vim74/syntax/html.vim
:Para agregar compatibilidad con la ortografía, debemos agregar la
@Spell
palabra clave (ver:help spell-syntax
) así:Debe poner esto
~/.vim/after/syntax/html.vim
para que anule las reglas de sintaxis predeterminadas.Consejo adicional:
la primera línea es para atributos en cadenas de comillas dobles (
attr="value"
), y la segunda si es para cadenas de comillas simples (attr='value'
). También puede anular solo uno de estos, por lo que puede elegir si tiene un corrector ortográfico.fuente