[英]Vim syntax highlight first word of each line
我有一种文件格式,其中每行的第一个单词都有特殊含义。 我想编写一个.vim
文件来自定义此类语法突出显示。 我阅读了一些有关突出显示关键字或匹配项的教程。 但是似乎没有明确的方法可以解决我的问题。 有人知道如何实现吗?
您需要创建一个语法匹配器,然后将其链接到突出显示。
syn match startLineMatch /^\s*\w\+/
hi def link startLineMatch Error
这将突出显示每一行的第一个单词。
/^\\s*\\w\\+/
匹配行^
的开头,然后匹配任意数量的空格\\s*
,然后匹配一个或多个单词字符\\w\\+
。 文字字符等效于[a-zA-Z]
。 如果要匹配任何空白字符,则可以使用\\S
代替\\w
。
在这种情况下,我将Error的突出显示定义重用(链接)到我们的自定义突出显示定义中以开始行匹配。
如果您尝试覆盖现有的突出显示组,则此方法将不起作用,因为syn keyword
在语法突出显示中的优先级高于syn match
。 您将必须删除现有的关键字突出显示才能使新匹配生效。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.