Vim折叠与RainbowParentheses

时间:2013-02-24 13:10:17

标签: c++ vim

所以,我到处寻找一个好的彩虹括号插件,它会给不同级别的括号提供不同的颜色。我非常喜欢couple that I've found,因为他们在highlighting the right thing时都可以很好地进行自定义。它支持的不仅仅是括号; V形,括号和括号都突出显示,我非常喜欢。

似乎有quite a few plugins for this!;我目前正在使用oblitum,因为他针对深色背景进行了优化(我经常直接从外壳工作)。

所以,按照该插件的github提示,我的.vimrc中有“永远在线”片段。但是当always块上面的“语法启用”时,它不会显示{}为cpp文件突出显示。当常亮块低于syntax enable时,折叠不起作用。我认为插件的本质使它能够做到这一点;它通过文件并添加着色信息。我注意到,如果我在加载文件后无法识别折叠时使用命令:syntax enable,那么它 识别折叠。但是在这一点上,它消除了彩虹括号上的颜色。

在我的.vimrc中,我有以下相关内容:

syntax enable
set foldmethod=syntax
set foldenable
set foldlevel=100

let g:rainbow_operators=2
au FileType c,cpp,objc,objcpp call rainbow#activate()

我认为,通过查看vim附带的语法文件,例如c.vim,您可以看到某些块被注释为折叠。我敢打赌,如果你能写一个基于它的正则表达式,你可以将字符识别为句法组。然后你可以为它定义一个colorscheme。事实上,rainbow plugin实际上是在调用“syn region”命令,所以我认为这条路线非常可行,我只是不知道vim脚本的知识。

有人可以帮我修改插件或提出一个可以实现两者的脚本吗?

2 个答案:

答案 0 :(得分:2)

很抱歉迟到了,我试图在Fix disabled folding (issue #2)

解决这个问题

答案 1 :(得分:0)

我模模糊糊地记得遇到过相同或类似的问题 同样,XML代码突出显示也被打破了IIRC。

我把'永远打开'关闭,并且仅在我需要它时激活彩色括号 所以我的工作解决方案只是打开和关闭插件的捷径。