2015-04-03 63 views
0

我有點可怕的失敗,在這個任務中,突出顯示在vim的每一個字,與開頭的「&」

我設法解決它通過以下方式

syntax keyword top "/&.*" 

但這似乎並沒有做訣竅,"^&.*", /&.+, ...

語法文件設置正確(它顯示其他突出顯示)。

任何幫助,將不勝感激。

回答

1

你需要match,而不是keyword

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

iskeyword使得Vim識別&字符作爲關鍵字的一部分。這樣,使用\<我們可以在詞的開頭匹配&。所以我們匹配&barfoo &bar而不是foo&bar

UPDATE

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

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

丫的,對吧謝謝你這麼多 – 2015-04-04 01:00:28

+1

我不會修改''只是爲了這一點,而iskeyword''使用'「\%(^ \ | \ s \)\ zs&\ w \ +」'(即在匹配之前斷言行或空白的開始)。 – 2015-04-04 18:17:56

+0

@IngoKarkat我同意,觸摸'iskeyword'可能會產生不希望的副作用。 – svlasov 2015-04-04 20:54:39