2014-10-29 4 views
0

사용자 정의 강조 표시를 만들고 match 대신 matchadd을 사용하려고합니다. 여기 내 .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을 통해 명령과 같이 호출하면 모든 것을 강조 표시하고 자동으로 작동하지 않습니다.

내가 뭘 잘못하고 있니?

업데이트

무엇을 추측 - 내가 명령 줄 vim ~/.vimrc에서 열지 때, :e ~/.vimrc를 통해 다음 열려있는 파일을 vim를 시작하고 때 작동합니다. 그림보기 ...

+0

흠, 나를 위해 작동 ... –

+0

'BufWinEnter'이 될 것 같습니다 은색 총알이 아닌 사용'BufEnter, WinEnter가 * 전화를 autocmd MyColors()'. – romainl

+0

일치 항목이 윈도우 로컬 일 경우 'WinEnter, VimEnter'가 가장 적합해야합니다 (전자는 첫 번째 발사가 아니기 때문에 후자입니다). –

답변

0

감사합니다. VimEnter에게 감사드립니다. 조금 실험 후 내가 가장 방탄가이 조합을 발견,

autocmd VimEnter,BufEnter,WinEnter * call MyColors() 
관련 문제