Vim, как перезагрузить подсветку синтаксиса - PullRequest
77 голосов
/ 30 декабря 2011

Когда я выполняю Rmodel, Rcontroller и другие в Vim. Я вижу только белый текст. Но когда я перехожу к следующему буферу и затем возвращаюсь на :bn и :bl, цвета работают.

Это моя папка .vim https://github.com/regedarek/dotvim

Ответы [ 7 ]

84 голосов
/ 19 июня 2013

Использование :syntax sync fromstart

Я получил этот совет от http://vim.wikia.com/wiki/Fix_syntax_highlighting

В этой статье также предлагается создать отображение для этой команды, например, для сопоставления F12:

noremap <F12> <Esc>:syntax sync fromstart<CR>
inoremap <F12> <C-o>:syntax sync fromstart<CR>
44 голосов
/ 30 декабря 2011

Попробуйте:

:e

Если у вас нет несохраненных изменений в файле.

Или:

:syn off | syn on
8 голосов
/ 11 апреля 2015

Иногда синтаксис в порядке, но нарушается только свертывание.В этом случае zx очень помогает.

Из документации VIM:

zx

Обновление сгибов: отмена ручного открытия и закрытия сгибов: повторное применение 'сгибания', затем выполните "zv": просмотреть строку курсора.Также заставляет пересчитывать складки.Это полезно при использовании 'foldexpr', когда буфер изменяется таким образом, что сгибы не обновляются должным образом.

7 голосов
/ 24 июля 2017

Перепробовал все вышеперечисленное - у меня никто не работал.

Единственное, что работает, это: :filetype detect поэтому я переназначил быстрый ярлык :noremap <Leader> :filetype detect

4 голосов

Другой вариант:

doautocmd Syntax
0 голосов
/ 14 июля 2018

Вы также можете попробовать:

CTRL-L

Из документов VIM (:h CTRL-L):

Очистить и перерисовать экран.Перерисовка может произойти позже, после обработки typeahead.

0 голосов
/ 23 сентября 2013

Попробуйте:

:Rrefresh!

Эта команда обновляет определенные кэшированные настройки, а также перезагружает rails.vim .
Это помогает мне обновить подсветку синтаксиса в Rails.

...