: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