Vim, как перезагрузить подсветку синтаксиса
Когда я выполняю Rmodel, Rcontroller и другие в Vim. Я вижу только белый текст. Но когда я иду к следующему буферу, а затем возвращаюсь :bn
а также :bl
, цвета работают.
Это моя папка.vim https://github.com/regedarek/dotvim
7 ответов
Использование :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>
Пытаться:
:e
Если у вас нет несохраненных изменений в файле.
Или же:
:syn off | syn on
Перепробовал все вышеперечисленное - у меня никто не работал.
Единственное, что работает, это: :filetype detect
поэтому я переназначил быстрый ярлык :noremap <Leader> :filetype detect
Иногда синтаксис в порядке, но нарушается только свертывание. В таком случае zx
помогает много.
Из документации VIM:
гх
Обновить сгибы: отменить ручное открытие и закрытие сгибов: повторно применить 'foldlevel', затем выполнить "zv": просмотреть линию курсора. Также заставляет пересчитывать складки. Это полезно при использовании 'foldexpr', когда буфер изменяется таким образом, что сгибы не обновляются должным образом.
Вы также можете попробовать:
CTRL-L
Из документов VIM (:h CTRL-L
):
Очистить и перерисовать экран. Перерисовка может произойти позже, после обработки typeahead.
Пытаться:
:Rrefresh!
Эта команда обновляет определенные кэшированные настройки, а также перезагружает rails.vim.
Это поможет мне обновить подсветку синтаксиса в Rails.