Closed roachsinai closed 4 years ago
看一下这段:https://github.com/luochen1990/rainbow#troubleshooting 看异常文本的各个部分上分别是哪项语法定义生效了。
一种简单的处理办法就是不对这个注释里的内容做括号高亮了, 实现方式就是自己通过rainbow的高级配置重新定义括号,用 \zs
这种零宽匹配来向后看,只有后面不是 #@@
的 {
才当作括号处理。
emm,试了一下对于{#@@ [How to use true colors in vim under tmux?](https://github.com/tmux/tmux/issues/1246) @@#}
中的左括号(
显示的匹配级别是hi<vimRainbow_lv1_p3> trans<vimRainbow_lv1_p3> lo<vimRainbow_lv1_p3>
。本行后面的字符没有对应这个级别的字符。
然后高级配置应该是可行的。不过我刚才尝试的时候vim给试出问题了。一打开文件就
😃,这个问题好像更严重。
{\(#@@\)\@!
在vim中只匹配后面没有跟#@@
的{
。但是将start修改为start=/{\(#@@\)\@!/
不起作用。还得继续😃
你得先会用正则,这个报错信息看起来是说你正则里用了 {
这个特殊字符导致正则语法不对,可能需要转义
现在使用{\(#@@\)\@!
是实现了正则只匹配后面不跟#@@
的效果。但是这个加到rainbow的高级配置中没有起作用(start=/{\(#@@\)\@!/
)还是匹配了所有的{
.
可以用 syntax
命令看一下生成的语法规则是啥样的
emmm, 可以了,是高级配置里面有两个{
,我之前只是设置了前一个,后一个也设置了就可以了。感谢!
设置如下:
现在我遇到一个问题,就是在我的vimrc中我想添加一行注释(标识自己使用的某个配置的来源)比如:
上面的代码断中第一行就是我用的注释,之所以使用
{#@@ @@#}
是我使用的dotfile管理软件dotdrop: Save your dotfiles once, deploy them everywhere在生成真实的vimrc的时候会删除那一行(注释无需在真实vimrc中出现)而代码段中第一行会打乱
rainbow
插件的功能,括号颜色的显示就乱了:可以看到图片中第一行最右侧的
)
和}
没有正确显示,而下面的所有括号颜色因此都没有显示正确的颜色。当我删除超链接也就是将代码段的第一行修改为:
{#@@ [How to use true colors in vim under tmux?]() @@#}
的时候才正常:我想知道的是,可不可能通过更新设置,在保留超链接的情况下(Markdown形式),括号仍正确的显示?
谢谢!