我不时会在当前缓冲区上应用一些自定义的额外语法高亮显示。
如何使用vim语法/高亮系统中的内置功能(我不想使用Highlight插件)
例如,我想强调当前缓冲区中的所有断言语句。
答案 0 :(得分:5)
如果突出显示仅适用于某些文件类型(例如Java),并且您一直想要它,我会使用:syn match ...
中的~/.vim/after/syntax/java.vim
定义扩展原始语法。
对于自发突出显示,请使用:match
(或:2match
),如 dwalter 所示。
如果您要编写更详细的映射,可能使用切换开/关逻辑,请使用matchadd()
/ matchdelete()
。
最后,如果您需要突出显示任意单词/字符串,比如使用文本标记标记文档,我建议使用像Mark这样的插件(我已经接管了维护)。< / p>
答案 1 :(得分:4)
如果需要,您可以使用match
和highlight
。
示例:
:hi MyAsserts term=bold ctermbg=Cyan
:match MyAsserts /assert(.*)/
使用青色背景突出显示您的assert()
语句。
没有任何参数的:match
将重置它。
有关highlight
或match
的更多信息,请查看文档
:help hi
或:help match
要重复使用突出显示,您可以将这些命令保存在文件中,并使用:source file.vim
随时加载它。另一种方法是在.vimrc
。
hi MyAsserts ctermbg=Cyan
command -bar -nargs=0 HiAsserts match MyAsserts /assert(.*)/
"highlight any given regex
command -bar -nargs=1 HiIt match MyAsserts /<args>/
并使用:HiAsserts
调用它以突出显示您的assert()
语句或:HiIt foo
以突出显示缓冲区中的每个foo
。