- 千萬不要使用
:syn
來突出顯示所有文件類型,這裏有matchadd()
。使用:syn
可以輕鬆突破突出顯示,matchadd()
是疊加層。
當事件觸發Syntax
事件時,正在覆蓋語法突出顯示。更多,它只對當前緩衝區有效。因此,只要在syn
會的vimrc絕不工作,你必須使用自動命令
autocmd! Syntax python :syntax match Parens /[(){}]/
(對於Python是安全的,因爲括號和數字括號不被任何其他語法元素匹配)。
在javascript括號中(()
)已經被javaScriptParens
高亮組匹配。因此,您必須使用
hi def link javaScriptParens Parens
(in colorscheme)。大括號匹配javaScriptBraces
並且需要類似的命令。
要確定使用什麼突出的特定符號,我把光標放在這個符號,並啓動
echo 'Normal '.join(map(synstack(line('.'), col('.')), 'synIDattr(v:val, "name")'))
,最後顯示的詞通常是你所需要的。如果只有Normal
則顯示符號不突出,你必須去2,否則你必須去3.
對於通用的解決方案忽視當前使用的高亮顯示您可以使用matchadd()
因爲我已經說過。但它是局部於窗口,所以如果你正在使用多個窗口/標籤的工作,你不能沒有自動命令去:
autocmd! WinEnter * :if !exists('w:parens_match_id') | let w:parens_match_id=matchadd('Parens', '[(){}]') | endif
所有自動命令與
augroup HighlightParens
autocmd! …
augroup END
包圍
來源
2012-11-24 18:44:11
ZyX