突出匹配对错误

Highlight Matching Pair Error

这是我在尝试插入圆括号或大括号时遇到的错误:

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 不)

如果我仍然可以使用带下划线的括号和突出显示的关键字(即使在评论中使用),我将不胜感激。

所以我仍然不确定问题出在哪里,但我通过将我所有的 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")