vim - 仅在语法文件中将突出显示规则作为下一组运行?

标签 vim syntax highlight

我在自定义语法文件中有这些规则。

syn match id '\w\+'
syn keyword _type void int bool string list nextgroup=id

我只要id_type 之后匹配.

最佳答案

你已经接近了。

  • 为避免 id 组与其他任何地方匹配,只需添加 contained .
  • 对于 nextgroup=... ,比赛必须恰好在当前组结束后开始。因此,您需要在 id 组匹配中包含前导空格:\s\+ ,或添加 skipwhite .
  • 语法组的命名约定是在它们前面加上你的语法名称;我用过 my...这里。

  • :syn match myId '\w\+' contained
    :syn keyword myType void int bool string list nextgroup=myId skipwhite
    

    关于vim - 仅在语法文件中将突出显示规则作为下一组运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16227271/

    相关文章:

    java - Eclipse 是否有 "vim: set ft=cpp:"或 "-*- c++ -*-"的等价物?

    perl - .vim 文件夹中有存放文本过滤器的好地方吗?

    php - 表格颜色文本不会改变

    css - 突出显示当前链接

    pdf - 如何默认在 Okular 中显示评论栏?

    vim - Vim 中的快速字数统计功能

    vim - 忽略 vimdiff 输出中包含特定单词的行

    c++ - 为什么这个 C++ 折叠表达式有效?

    java - 如何在java中执行命令行.exe文件

    html - 如果选中复选框,则突出显示复选框之前的标签