0
我有點可怕的失敗,在這個任務中,突出顯示在vim的每一個字,與開頭的「&」
我設法解決它通過以下方式
syntax keyword top "/&.*"
但這似乎並沒有做訣竅,"^&.*", /&.+, ...
語法文件設置正確(它顯示其他突出顯示)。
任何幫助,將不勝感激。
我有點可怕的失敗,在這個任務中,突出顯示在vim的每一個字,與開頭的「&」
我設法解決它通過以下方式
syntax keyword top "/&.*"
但這似乎並沒有做訣竅,"^&.*", /&.+, ...
語法文件設置正確(它顯示其他突出顯示)。
任何幫助,將不勝感激。
你需要match
,而不是keyword
:
setlocal iskeyword+=&
syntax match top "\<&\w\+"
iskeyword
使得Vim識別&
字符作爲關鍵字的一部分。這樣,使用\<
我們可以在詞的開頭匹配&
。所以我們匹配&bar
foo &bar
而不是foo&bar
。
UPDATE
@ IngoKarkat的解決方案不需要修改iskeyword
:
syntax match top "\%(^\|\s\)\zs&\w\+"
丫的,對吧謝謝你這麼多 – 2015-04-04 01:00:28
我不會修改''只是爲了這一點,而iskeyword''使用'「\%(^ \ | \ s \)\ zs&\ w \ +」'(即在匹配之前斷言行或空白的開始)。 – 2015-04-04 18:17:56
@IngoKarkat我同意,觸摸'iskeyword'可能會產生不希望的副作用。 – svlasov 2015-04-04 20:54:39