93

当我在 Vim 中执行 Rmodel、Rcontroller 等。我只看到白色文字。但是当我转到下一个缓冲区然后按:bnand返回时:bl,颜色正在起作用。

这是我的 .vim 文件夹 https://github.com/regedarek/dotvim

4

7 回答 7

104

采用: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>
于 2013-06-19T10:48:58.917 回答
61

尝试:

:e

如果您对文件没有未保存的更改。

或者:

:syn off | syn on
于 2011-12-29T23:34:12.190 回答
15

尝试了以上所有方法 - 没有一个对我有用。

唯一有效的是: :filetype detect 所以我重新映射了一个快速快捷方式 :noremap <Leader>,ftd :filetype detect

于 2017-07-24T13:41:26.957 回答
10

有时语法还可以,但所有被破坏的只是折叠。在这种情况下有zx很大帮助。

来自 VIM 文档:

zx

更新折叠:撤消手动打开和关闭的折叠:重新应用'foldlevel',然后执行“zv”:查看光标线。还强制重新计算折叠。这在使用 'foldexpr' 并且缓冲区以导致折叠无法正确更新的方式更改时很有用。

于 2015-04-11T14:45:31.940 回答
5

另一种选择是:

doautocmd Syntax
于 2014-09-29T07:12:59.477 回答
-1

你也可以试试:

CTRL-L

来自 VIM 文档 ( :h CTRL-L):

清除并重绘屏幕。重绘可能会在稍后处理 typeahead 之后发生。

于 2018-07-13T21:09:36.137 回答
-2

尝试:

:Rrefresh!

此命令刷新某些缓存设置并重新加载rails.vim
它帮助我刷新 Rails 中的语法高亮。

于 2013-09-23T14:01:02.647 回答