0
我正在嘗試自定義高亮顯示,並且想要使用matchadd
而不是match
。這裏是我的一個樣本.vimrc
:Vim:使用matchadd自定義顏色不適用於autocmd
autocmd BufWinEnter * call MyColors()
function! MyColors()
let &nuw=len(line('$'))+2 " Nicer line numbers
call matchadd('CursorLineNr', '\%81v') " Highlight 81th symbol
call matchadd('ErrorMsg', '.*xx.*') " xx - red line
call matchadd('DiffDelete', '.*vv.*') " vv - green line
call matchadd('Search', '.*??.*') " ?? - yellow line
endfunction
函數被調用,但沒有突出顯示。如果我像通過:call MyColors
那樣從命令中調用它,它會突出顯示所有內容,只是不會自動工作。
我在做什麼錯?
更新
你猜怎麼着 - 當我通過:e ~/.vimrc
推出vim
,然後打開文件,而不是當我打開它在命令行vim ~/.vimrc
它的工作原理。去圖...
嗯,對我的作品...... – 2014-10-29 16:17:36
'BufWinEnter'是不是它似乎是銀彈,使用'的autocmd BufEnter,WinEnter事件*通話MyColors()'。 – romainl 2014-10-29 16:20:07
由於匹配窗口是本地的,所以'WinEnter,VimEnter'應該是最合適的(後者因爲前者不是第一個被觸發)。 – 2014-10-29 16:23:14