【问题标题】:Highlight Matching Pair Error突出显示匹配对错误
【发布时间】:2017-11-21 03:21:31
【问题描述】:

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

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

我仍然可以使用带下划线的括号和突出显示的关键字(即使在评论中使用)的任何解决方案都将不胜感激。

【问题讨论】:

    标签: vim syntax-highlighting parentheses


    【解决方案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")
    

    【讨论】:

      猜你喜欢
      • 2012-11-03
      • 2016-11-30
      • 2020-05-28
      • 1970-01-01
      • 2014-05-30
      • 1970-01-01
      • 2021-10-05
      • 2012-04-12
      • 2018-09-22
      相关资源
      最近更新 更多