VIM 中的语法突出显示以匹配 first/last 行字母

Syntax Highlighting in VIM to match first/last letter of line

我正在尝试在 VIM 中设置语法突出显示,以便仅当第一个非空白字符为“-”或该行的最后一个非空白字符为“时才匹配整行:”。典型的行在文本前面有很多制表符。

例如我有这样的行(文本前面有制表符):

- Go Home today

Eat vegetables:

但是我不想匹配这些(不是行尾或行首)。

Go - Home today

Eat : vegetables

我尝试了各种迭代,但无法正确完成。 例如,以下仅突出显示破折号,包括文件中的每个破折号。如果最后或开始字符匹配,我希望它突出显示整行。

syn region dash start=/\v-/ end=// oneline
highlight link dash String

我知道我只需要正确进行 start/end 搜索,但运气不好。我该怎么做?

尝试这样的事情:

syn region dash start=/^\s*\zs-/ end=/$/ oneline
syn region dash start=/^/ end=/:\ze\s*$/ oneline
highlight link dash String