突出显示 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\+"
我在这个任务中不知何故失败了,
我尝试用下面的方法解决
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\+"