수색…
비고
서라운드 autocmd
명령
autocmd
는 추가 명령이며, 기본적으로이 동작을 원하지 않을 것입니다.
예를 들어 .vimrc
를 편집하는 동안 몇 번 다시 .vimrc
하면 vim이 느려질 수 있습니다.
여기에 증거가 있습니다.
:autocmd BufWritePost * if &diff | diffupdate | endif " update diff after save
:autocmd BufWritePost * if &diff | diffupdate | endif " update diff after save
:autocmd BufWritePost *
입력하면 출력에 두 행 모두가 표시됩니다. 둘 다 처형된다.
이 문제를 방지하려면 다음과 같이 모든 autocmd
.
if has ('autocmd') " Remain compatible with vi which doesn't have autocmd
augroup MyDiffUpdate " A unique name for the group. DO NOT use the same name twice!
autocmd! " Clears the old autocommands for this group name
autocmd BufWritePost * if &diff | diffupdate | endif " Update diff after save
" ... etc ...
augroup END
endif
저장 후 .vimrc 자동으로 소스
$MYVIMRC
다음을 추가하십시오.
" Source vim configuration file whenever it is saved
if has ('autocmd') " Remain compatible with earlier versions
augroup Reload_Vimrc " Group name. Always use a unique name!
autocmd! " Clear any preexisting autocommands from this group
autocmd! BufWritePost $MYVIMRC source % | echom "Reloaded " . $MYVIMRC | redraw
autocmd! BufWritePost $MYGVIMRC if has('gui_running') | so % | echom "Reloaded " . $MYGVIMRC | endif | redraw
augroup END
endif " has autocmd
풍모:
-
echom
은 사용자에게 무슨 일이 일어 났는지 알려주고 (또한 로그:messages
). -
$MYVIMRC
및$MYGVIMRC
는 구성 파일의 플랫폼 별 이름을 처리하며, - 실제 구성 파일과 만 일치합니다 (다른 디렉토리의 복사본 또는
fugitive://
diff는 무시합니다) -
has()
는vim-tiny
와 같이 호환되지 않는 버전을 사용하는 경우 오류를 방지합니다. -
autocmd!
이 파일이 다시 소스로 제공되는 경우 여러 개의 동일한 자동 명령이 생성되는 것을 방지합니다. (이름이 지정된 그룹의 모든 명령을 지우므로 그룹 이름이 중요합니다.)
파일이 다른 창에 저장되면 vimdiff보기를 새로 고칩니다.
:autocmd BufWritePost * if &diff | diffupdate | endif
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow