我希望我的
vim用红色突出显示Pouet组中的一些关键字,例如我的.c文件中的’if(‘).
我想出了如何突出:
我想出了如何突出:
syn keyword Pouet if
(这是我的〜/ .vim / Syntax / c.vim)
与
highlight Pouet term=NONE cterm=NONE Ctermfg=160 ctermbg=NONE gui=NONE
(这是我的.vimrc的一部分)
问题是,此代码不适用于特殊字符,如'(‘或空格或许多空格.
我的问题是:如何制作像’if(‘以红色突出显示?
谢谢
解决方法
:syn关键字仅适用于关键字字符(由’iskeyword’设置定义),并且(通常不包含).
你必须使用:syn match,例如:
:syn match Pouet "\<if("
如果您自己定义语法,这很好.如果除了现有的C语法高亮显示之外还需要此功能,则需要分析原始语法组并添加containsin = cConditional之类的内容,甚至可能需要修改原始语法定义.
另一种方法是matchadd(),它在语法高亮之上:
:call matchadd('Pouet','\<if(')
这里的问题是这些匹配是窗口本地的,没有绑定到文件类型,如语法高亮,所以当你在当前窗口中拆分窗口或编辑另一个文件类型时,突出显示将会消失/将持续存在.这些问题可以解决autocmds,但现在它变得非常复杂.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。