我正在尝试进行自定义突出显示,并希望使用matchadd
代替match
。以下是我的.vimrc
:
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
之类的命令调用它,它会突出显示所有内容,但不会自动生效。
我做错了什么?
更新
猜猜是什么 - 当我启动vim
然后通过:e ~/.vimrc
打开文件时,它不起作用,而不是当我从命令行vim ~/.vimrc
打开它时。去图......
答案 0 :(得分:0)
感谢VimEnter
个建议。经过一番实验后,我发现这种组合是最防弹的:
autocmd VimEnter,BufEnter,WinEnter * call MyColors()