这是我尝试插入括号或大括号时出现的错误:
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
没有)
我仍然可以使用带括号括号和突出显示的关键字(即使在评论中使用)的任何解决方案都会受到赞赏。
答案 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")