2011-12-29 19 views

Respuesta

64

Uso :syntax sync fromstart

Tengo que el consejo de http://vim.wikia.com/wiki/Fix_syntax_highlighting

Ese artículo también sugiere la creación de un mapeo de ese comando, por ejemplo, para mapear F12:

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

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

+1

Lo siento, no sé. No tengo nada haciendo el corrector ortográfico. Puede depender de su complemento particular. Si nadie más responde, puede valer la pena redactar una pregunta con toda la información relevante. –

+0

Termino usando '' autocmd BufEnter, InsertLeave *: sintaxis sync fromstart'' para forzar una sintaxis sincronizada después de ingresar un buffer. La sincronización de sintaxis también se activa cuando hay un evento '' InsertLeave''. –

30

Probar:

:e 

Si no tiene cambios no guardados en el archivo.

O:

:syn off | syn on 
+0

: e funcionaban, pero esto es un inconveniente – tomekfranek

+0

crear una asignación para aliviar el dolor, algo como '' nmap : Rmodel | e '' – holygeek

+2

Parece que debe 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 saltar hacia atrás, por ejemplo: 'gg \' \ '' –

-1

Probar:

:Rrefresh! 

Este comando Actualizar ciertos ajustes en caché y también recargar rails.vim.
Me ayuda a actualizar el resaltado de sintaxis en Rails.

+0

Esto _únicamente_ se aplica a 'rails.vim' y no es una solución general. Sin ese complemento, este comando no existe. – wchargin

3

Otra opción es:

doautocmd Syntax 
8

veces sintaxis está bien, pero todo lo que está consiguiendo roto son plegamientos. En ese caso, zx ayuda mucho.

De la documentación VIM:

ZX

actualización se pliega: Deshacer pliegues abrir y cerrar manualmente: volver a aplicar 'foldlevel', y luego hacer "zv": para ver la línea del cursor. También obliga a volver a doblar los pliegues. Esto es útil cuando se usa 'foldexpr' y el buffer se cambia de manera que resulta en pliegues que no se actualizan correctamente.

3

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

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

Cuestiones relacionadas