我有一种文件格式,每行的第一个单词都有特殊含义。我想写一个.vim
文件来自定义这样的语法高亮。我阅读了一些关于高亮关键字或匹配的教程。但似乎没有明确的方法来解决我的问题。有谁知道如何实现它?
答案 0 :(得分:0)
您需要创建语法匹配器,然后将其链接到突出显示。
syn match startLineMatch /^\s*\w\+/
hi def link startLineMatch Error
这将突出显示每一行的第一个单词。
/^\s*\w\+/
匹配行^
的开头,然后匹配任意数量的空白\s*
,然后匹配一个或多个单词字符\w\+
。单词字符相当于[a-zA-Z]
。如果您希望匹配任何空格字符,则可以使用\S
代替\w
。
在这种情况下,我已经重新使用(链接)了我们自定义高亮定义的错误突出显示定义,以开始行匹配。
如果您尝试覆盖现有的突出显示组,则此方法无法正常工作,因为a syn keyword
在语法突出显示中的优先级高于syn match
。您必须删除现有关键字突出显示才能使新匹配生效。