带彩虹括号的Vim折叠

Vim Folding with RainbowParentheses

本文关键字:Vim 折叠 彩虹      更新时间:2023-10-16

所以,我到处寻找一个好的彩虹括号插件,它会给不同级别的括号不同的颜色。我真的很喜欢我找到的这对情侣,因为他们都很好地进行了定制,同时突出了正确的东西。它支持的不仅仅是括号;人字形、大括号和括号都突出显示,我真的很喜欢。

似乎有相当多的插件用于此!;我目前使用oblitum,因为他的是针对黑暗背景优化的(我经常直接从外壳开始工作(。

因此,按照github上关于该插件的提示,我的.vimrc中有一个"始终打开"的片段。但是,当常开块高于"语法启用"时,它不会显示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,您可以看到某些块被注释为折叠。我敢打赌,如果你能基于它编写一个正则表达式,你就能将字符识别为句法组。然后你可以为它定义一个配色方案。事实上,彩虹插件实际上是在调用"syn region"命令,所以我认为这个路线是非常可行的,我只是不太了解vim脚本。

有人能帮我修改插件吗?或者想出一个脚本或实现两者的东西吗?

很抱歉迟到了,我已经尝试在修复禁用折叠(问题#2(

我隐约记得有过同样或类似的问题
此外,突出显示XML代码也破坏了IIRC。

我关闭了"始终打开",只有在需要时才激活彩色括号。
所以我的工作解决方案只是打开和关闭插件的快捷方式