【问题标题】:Vim expand default highlighting keyword list in vimrcVim 在 vi​​mrc 中展开默认高亮关键字列表
【发布时间】:2016-02-29 23:14:21
【问题描述】:

默认情况下,vim 会在 cmets 中突出显示 TODO、FIXME 和 XXX 等标签,但这三个通常不会涵盖所有内容,thisthis 等帖子表明还有许多其他有用的标签以及许多有用的级别标签,所以我尝试实现它们。经过一番研究,我尝试创建新的语法组并将以下内容添加到 .vimrc:

syn keyword myBroken BROKEN ERROR WTF
syn keyword myWarning HACK BUG REVIEW FIXME TODO NOTE

hi def link myBroken Error
hi def link myWarning Todo

但是这不起作用,所以我尝试将这些添加到 $HOME/.vim/after/syntax/syntax.vim,这也不起作用,所以我尝试将其放入 $HOME/.vim/after/syntax/c.vim 并仅在 c 文件中尝试这些,但仍然没有不工作。我检查了runtimepath,它确实包含$HOME/.vim/after,所以我很困惑。

然后我想也许 cmets 中的关键字不匹配,所以我尝试用 syn match myBroken /\v<(ERROR|BROKEN|WTF)/ containedin=.*Comment 替换 syn keyword myBroken BROKEN ERROR WTF 但这仍然不起作用。关于我做错了什么或如何解决这个问题的任何想法?提前致谢。

【问题讨论】:

    标签: vim syntax-highlighting vim-syntax-highlighting


    【解决方案1】:

    正如您在:help mysyntaxfile-add 中看到的那样,这是正确的做法。我不知道为什么它不适合你,但你可能会这样:

    au BufWinEnter * let w:m1=matchadd('Error', 'BROKEN\|WTF', -1)
    au BufWinEnter * let w:m1=matchadd('Todo', 'HACK\|BUG\|REVIEW\|FIXME\|TODO\|NOTE', -1)
    

    更多信息请参见:help matchadd()

    【讨论】:

    • 我也没有。您还可以检查您的文件是否来自:scriptnames
    猜你喜欢
    • 2015-08-08
    • 2012-07-01
    • 2016-11-07
    • 2023-03-09
    • 1970-01-01
    • 2014-10-07
    • 1970-01-01
    • 2011-05-08
    • 1970-01-01
    相关资源
    最近更新 更多