突出显示匹配对错误

时间:2017-06-19 02:47:45

标签: vim syntax-highlighting parentheses

这是我尝试插入括号或大括号时出现的错误:

Error detected while processing function <SNR>36_Highlight_Matching_Pair: line  140: E801: ID already taken: 3

在我将以下代码添加到~/.vim/after/syntax/c.vim

之后,它开始出现
hi WhiteOnMagenta term=standout,bold ctermfg=White ctermbg=Magenta
3match WhiteOnMagenta /TEST/

我认为这是因为我的匹配与matchparen.vim中的某些内容之间存在冲突。一旦我在语法文件中注释掉上面的行或者删除了matchparen插件文件,错误就会消失。

我想保留matchparen插件,因为我希望当我的光标位于其中一个上时,我的括号可以加下划线。我还想使用:match代替syn keyword,如Vim highlight a list of words所示,因为:match仍会突出显示该关键字,即使它已在评论中使用(并且syn keyword没有)

我仍然可以使用带括号括号和突出显示的关键字(即使在评论中使用)的任何解决方案都会受到赞赏。

1 个答案:

答案 0 :(得分:1)

所以我仍然不确定问题是什么,但我通过将所有match更改为matchadd来解决问题

原件:

hi WhiteOnMagenta term=standout,bold ctermfg=White ctermbg=Magenta
3match WhiteOnMagenta /TEST/

新(和更好):

hi WhiteOnMagenta term=standout,bold ctermfg=White ctermbg=Magenta
let m = matchadd("WhiteOnMagenta", "TEST")