Esta es una publicación realmente antigua, pero estaba experimentando lo mismo: a veces la sintaxis resaltada simplemente dejaba de funcionar cuando se miraba la sección javascript en un archivo .html
. Como menciona el OP, una solución rápida fue desplazarse hacia arriba y mágicamente, las cosas comenzarían a resaltarse nuevamente.
Hoy encontré el problema subyacente y una buena solución. En Vim, el resaltado de sintaxis usa un contexto para derivar el resaltado correcto, donde el contexto está definido por las líneas anteriores.Es posible especificar cuántas líneas antes de la línea actual se usan emitiendo :syntax sync minlines=200
. En este caso, utilizará hasta 200 líneas anteriores como contexto. Es posible utilizar todo el archivo (que puede ser lento para archivos largos) ejecutando :syntax sync fromstart
.
Una vez que encontré eso, añade esta línea a mi .vimrc
:
autocmd BufEnter *.html :syntax sync fromstart
Al hacerlo, .html
archivos utilizarán todo el archivo como contexto. Por lo tanto, la sección javascript siempre se resaltará correctamente, independientemente de la longitud de la sección JS. Espero que esto ayude a alguien más allá!
Agradable. Incluso apoya el resaltado para jsdoc. ¡Gracias! – asksol
Cuidado: Noté que el autor del marcador mejorado cambió de la sincronización de sintaxis desde el inicio en la versión más reciente ... por lo que el problema que vio puede comenzar a suceder en este resaltador. Parece que en el pasado, siempre lo hizo desde el comienzo. –
He intentado tanto el lanzamiento del 9/12/08 como el lanzamiento del 17/05/07, y ninguno de ellos mejora la situación. Abrir un archivo javascript complejo en el medio sigue sin resaltar, y debo desplazarme varias páginas hacia arriba para que vim start destaque correctamente. –