1
我試圖定義一個vim突出顯示方案,其中屬於語言功能的括號突出顯示與功能相同,所以例如,如果函數是紅色的,那麼它們的括號也將是紅色。我的想法是,這將使他們與其他的圓括號結構不同。 (也許這實際上是一個可怕的想法,但我想嘗試一下。)Vim:如何突出顯示功能的括號
我試圖定義一個區域是這樣的:
syn region Function matchgroup=Function start=+Abcd\s*(+ end=+)+ contains=ALL
但是這永遠不會發現它的右括號。
按照下面的建議(感謝!)我把它改爲:(保存以上的vim的文件,在Vim中打開它,:so %
測試)
hi Function gui=bold guifg=Red guibg=NONE
syn region SpecialFunc matchgroup=Function start=+Abcd\s*(+ end=+)+ contains=ALL keepend
if 0
Abcd(123)
Abcd(Xxxx(123))
endif
我現在得到這樣的:
這似乎做到這一點 - 謝謝! (現在爲300多個其他功能做這個...) –
對不起,事實證明它沒有。我的函數不會在一行的結尾結束,但如果沒有「$」,結束模式就會匹配它所涉及的第一個右括號。 –
不錯的嘗試,謝謝:)雖然它不是真正的實用,因爲它不嵌套或跨越線條,並且它抑制括號內的所有其他組。看起來這是不可行的,沒有Vimscript的卸載。 –