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



我在这项任务中以某种方式严重失败,

我尝试用以下方法解决

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+"

最新更新