突出显示 vim 中以“&”开头的每个单词

Highlight every word in vim that starts with an "&"

我在这个任务中不知何故失败了,

我尝试用下面的方法解决

syntax keyword top "/&.*"

但这似乎并不能解决问题,"^&.*", /&.+, ...

也是如此

语法文件在其他方面设置正确(显示其他突出显示)。

如有任何帮助,我们将不胜感激。

你需要 match 而不是 keyword:

setlocal iskeyword+=&
syntax match top "\<&\w\+"

iskeyword 允许 vim 将 & 字符识别为关键字的一部分。这样,使用 \< 我们可以匹配单词开头的 & 。所以我们在 foo &bar 中匹配 &bar 而不是在 foo&bar.

更新

@IngoKarkat 的解决方案不需要修改 iskeyword:

syntax match top "\%(^\|\s\)\zs&\w\+"