Vim, cómo recargar el resaltado de sintaxis


Respuestas:


95

Utilizar :syntax sync fromstart

Recibí ese consejo de http://vim.wikia.com/wiki/Fix_syntax_highlighting

Ese artículo también sugiere crear un mapeo para ese comando, por ejemplo, para mapear F12:

noremap <F12> <Esc>:syntax sync fromstart<CR>
inoremap <F12> <C-o>:syntax sync fromstart<CR>

Esto funciona, pero elimina el subrayado para la revisión ortográfica. ¿Alguna forma de prevenir eso?
Alec Jacobson

1
Lo siento, no lo sé. No tengo nada que ver con la ortografía. Puede depender de su complemento particular. Si nadie más responde, puede valer la pena redactar una pregunta con toda la información relevante.
Mike Lippert

3
Termino usando autocmd BufEnter,InsertLeave * :syntax sync fromstartpara forzar una sincronización de sintaxis después de ingresar a un búfer. La sincronización de sintaxis también se activa cuando InsertLeaveocurre un evento.
Samuel Li

Quizás alguien encuentre esto útil algún día. Usa filetype=sho syntax=shpara bash y me gusta, no bash. Me tomó un tiempo darme cuenta de eso.
quapka

Estoy usando el :do Syntaxequivalente de :doautocmd Syntaxque es un poco más corto para que no tenga que vincularlo (al menos no tengo que llamar a este comando con tanta frecuencia, así que simplemente lo escribo). Lo uso principalmente en algunos archivos que contienen expresiones regulares que hacen que el resaltado de sintaxis se rompa cuando abro el archivo a través de netrw.
Rens Tillmann

53

Tratar:

:e

Si no tiene cambios sin guardar en el archivo.

O:

:syn off | syn on

Cree un mapeo para aliviar el dolor, algo comonmap <F6> :Rmodel|e<CR>
holygeek

2
Parece que debería haber algún comando incorporado para actualizar el resaltado de sintaxis. Otra cosa que parece funcionar es saltar a otra parte del archivo, como el principio o el final, y retroceder, por ejemplo:gg``
Keith Pinson

2
": syntax sync fromstart" (sin las comillas) no recargaba el resaltado de sintaxis de tipo de archivo en archivos que a veces no muestran colores de sintaxis - un problema continuo para mí y Vim, por alguna razón. Sin embargo, ": syn off | syn on" funcionó inmediatamente. ":¡mi!" también logrará esa recarga, pero tenga cuidado: ¡los cambios no guardados en su archivo se perderán!
Victoria Stuart

:syn off | syn oncambia el esquema de color para mí, lo cual es molesto
nada101

12

Probé todo lo anterior, ninguno funcionó para mí.

Lo único que funciona es: :filetype detect así que reasigné un atajo rápido :noremap <Leader>,ftd :filetype detect


9

A veces la sintaxis está bien, pero todo lo que se rompe son los pliegues. En ese caso zxayuda mucho.

De la documentación de VIM:

zx

Actualizar pliegues: deshaga los pliegues abiertos y cerrados manualmente: vuelva a aplicar 'foldlevel', luego haga "zv": Ver la línea del cursor. También obliga a recalcular los pliegues. Esto es útil cuando se usa 'foldexpr' y el búfer se cambia de manera que los pliegues no se actualicen correctamente.



-1

Tratar:

:Rrefresh!

Este comando actualiza ciertas configuraciones en caché y también recarga rails.vim .
Me ayuda a actualizar el resaltado de sintaxis en Rails.


Esto solo se aplica rails.vimy no es una solución general. Sin ese complemento, este comando no existe.
wchargin

-1

También puedes probar:

CTRL-L

De los documentos de VIM ( :h CTRL-L):

Limpia y vuelve a dibujar la pantalla. El redibujado puede ocurrir más tarde, después de procesar el texto con anticipación.


Ctrl-L actualiza la pantalla. No importa si realizó cambios en el archivo de sintaxis correspondiente.
Alexis Wilke
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.