Syntax vim具有特定角色的自身突出显示

Syntax vim具有特定角色的自身突出显示,syntax,keyword,vim,highlight,Syntax,Keyword,Vim,Highlight,我希望我的vim以红色突出显示Pouet组中的一些关键字,如my.c文件中的“if(”。 我想出了如何通过以下方式突出显示if: syn keyword Pouet if (这是我的~/.vim/syntax/c.vim) 和 highlight Pouet term=NONE cterm=NONE Ctermfg=160 ctermbg=NONE gui=NONE (这是我的.vimrc的一部分) 问题是,这段代码不能处理像“(”或一个空格或多个空格这样的特殊字符。 我的问题是:我如何用红

我希望我的vim以红色突出显示Pouet组中的一些关键字,如my.c文件中的“if(”。 我想出了如何通过以下方式突出显示if:

syn keyword Pouet if
(这是我的~/.vim/syntax/c.vim)

highlight Pouet term=NONE cterm=NONE Ctermfg=160 ctermbg=NONE gui=NONE
(这是我的.vimrc的一部分)

问题是,这段代码不能处理像“(”或一个空格或多个空格这样的特殊字符。 我的问题是:我如何用红色突出显示“if”(“if”)这样的句子


谢谢

:syn关键字
仅适用于关键字字符(由
'iskeyword'
设置定义),并且
通常不包含在内)

您必须改用
:syn match
,例如:

:syn match Pouet "\<if("
这里的问题是,这些匹配是窗口本地的,不像语法高亮显示那样绑定到文件类型,因此当您拆分窗口或在当前窗口中编辑另一个文件类型时,高亮显示将消失/将持续。这些问题可以通过AutoCMD解决,但现在变得非常复杂

:call matchadd('Pouet', '\<if(')