繁体   English   中英

Vim语法突出显示每一行的第一个单词

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM