Ответ 1
:syntax syn
управляет тем, как Vim синхронизирует состояние синтаксиса, которое должно применяться в определенной точке текста (:help syn-sync
). Для наиболее точной синхронизации (но это замедлит работу vim), попробуйте:
autocmd BufEnter * :syntax sync fromstart
Или если вы хотите синхронизировать вручную, когда вы заметили это неправильно, попробуйте эту команду (вы можете сопоставить ее с комбинацией клавиш):
:syntax sync fromstart
Вы также можете найти minlines
полезным. Из :help syn-sync
Если задан аргумент "minlines = {N}", разбор всегда начинается не менее что много строк назад. Это можно использовать, если синтаксический анализ может занять несколько линии, прежде чем он будет исправлен, или когда невозможно использовать синхронизацию.
Поэтому размещение этого в вашем .vimrc может помочь вам:
syntax sync minlines=500
Изменить: найдите эту страницу, в которой есть все, что вам нужно: http://vim.wikia.com/wiki/Fix_syntax_highlighting