为什么我只在VIM中的一些项目中获得RSpec的语法高亮显示?

为什么我只在VIM中的一些项目中获得RSpec的语法高亮显示?,rspec,syntax-highlighting,vim,Rspec,Syntax Highlighting,Vim,在开始一个新项目后不久,我意识到我没有为我的RSpec文件获得正确的语法高亮显示 起初,我认为这只是因为我的项目特定的.vimrc,它是通过setexrc加载的。但即使我把它删除了,也没用 我还认为问题出在spec文件本身,它没有被识别为RSpec,所以我从另一个项目中获取了一个文件,复制了它,但它仍然没有得到正确的高亮显示 这是在两个不同位置打开的同一个文件。左边的一个在原始项目中,在那里它会高亮显示,右边的一个是复制的版本 同一个项目中的所有RSpec文件都会发生同样的情况,但它似乎在其他

在开始一个新项目后不久,我意识到我没有为我的RSpec文件获得正确的语法高亮显示

起初,我认为这只是因为我的项目特定的
.vimrc
,它是通过
setexrc
加载的。但即使我把它删除了,也没用

我还认为问题出在spec文件本身,它没有被识别为RSpec,所以我从另一个项目中获取了一个文件,复制了它,但它仍然没有得到正确的高亮显示

这是在两个不同位置打开的同一个文件。左边的一个在原始项目中,在那里它会高亮显示,右边的一个是复制的版本

同一个项目中的所有RSpec文件都会发生同样的情况,但它似乎在其他任何地方都能工作


,但我不认为这有任何关系,因为我以前从未遇到过这个问题,只是在这个特定的项目中。

您使用的是janus,所以安装了rails.vim。正如您所见,该插件为您定义了语法方法,这就是为什么您只在rails项目中启用RSpec语法的原因

如果要在每个规范文件中启用该语法,可以将以下内容添加到vimrc中:

autocmd BufRead *_spec.rb syn keyword rubyRspec describe context it specify it_should_behave_like before after setup subject its shared_examples_for shared_context let
highlight def link rubyRspec Function

+1.我不得不将它添加到我的.gvimrc文件中,效果很好。谢谢嘿@iucapette这应该如何格式化?当我将解析错误粘贴到.vimcr中时,得到了一个解析错误。谢谢