gpt4 book ai didi

vim - 在 vim 中高亮子匹配

转载 作者:行者123 更新时间:2023-12-04 21:37:29 24 4
gpt4 key购买 nike

我正在尝试找出如何在 vim 中突出显示匹配项的特定部分。

给定以下示例规则(取自 coffeescript 语法文件 source ):

syn match coffeeExtendedOp /\%(\S\s*\)\@<=[+\-*/%&|\^=!<>?.]\+\|[-=]>\|--\|++\|:/ display

这个正则表达式匹配各种 coffeescript 运算符。运算符高亮显示(在我的 vimrc 中)如下:

hi Operator guifg=#ff0000

例如,由于 coffeeExtendedOp 链接到 coffeeOperator,而 coffeeOperator 在上面的源文件中链接到 Operator。这一切都有效,但我想知道如何在我的 中用不同的颜色(比如蓝色)特别突出显示上面 syn match 中匹配的 ++ 运算符vimrc (即不改变上面的原始源文件)。我只是想知道这是否可能。

编辑:我认为规则是under a cluster ,所以也许这就是为什么它没有影响任何东西。有没有办法访问集群内的规则?

编辑:问题已得到澄清。

解决方法:

syn match plusplus /++/ contained containedin=coffeeExtendedOp display
hi plusplus guifg=#0000ff

现在的问题是,这仅在我将它们作为命令在 vim 中运行时有效,但在我将其放入我的 vimrc 文件中时无效。有任何想法吗?难道是集群后面藏着东西?但是那为什么通过命令在vim中是可见的呢?我试过 including the syntax file但似乎没有任何效果。

最佳答案

查看您链接到的 coffee.vim,该点似乎属于 coffeeDotAccess 语法项。所以你可以通过这样做来突出它:

:hi coffeeDotAccess ctermfg=blue

关于vim - 在 vim 中高亮子匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8569853/

24 4 0