.vimrcVim을 다시 시작하지 않고 Vim에서 파일 을 편집 하고 적용하고 싶습니다 .
답변:
예, :so %.vimrc를 편집하는 동안 명령을 사용하십시오 .
vim이 구성을 자동으로 다시로드하도록하려면 다음 명령을 추가해야합니다.
augroup myvimrchooks
au!
autocmd bufwritepost .vimrc source $MYVIMRC
augroup END
자동 명령 그룹은 구성을 여러 번 저장하는 경우 "지수"다시로드를 방지하기 위해 여기에 있습니다.
Function Inc already exist, add ! to replace it.
autocmd! bufwritepost .vimrc source ~/.vimrc없습니까? 어떤 이유로 그룹이 필요하더라도 줄 3을 autocmd!? 로 시작하도록 다시 작성하면 줄 2를 생략 할 수 없습니다 .
Mac / Windows / Linux에서 실행하는 경우 플랫폼 간 호환이 가능한 버전은 다음과 gvimrc같습니다.
augroup myvimrc
au!
au BufWritePost .vimrc,_vimrc,vimrc,.gvimrc,_gvimrc,gvimrc so $MYVIMRC | if has('gui_running') | so $MYGVIMRC | endif
augroup END
autocmd는 모든 잠재적 *vimrc파일을 감시하고 하나가 변경되면 vimrc파일을 다시로드 한 다음 gvimrcGUI가 실행 중인지 확인합니다.
:help gvimrc
$GVIMRC때로는 존재하지 않기 때문에 존재 하는지 확인합니다 . if has('gui_running') && filereadable($MYGVIMRC)
au BufWritePost $MYVIMRC또는 사용하지 않을 이유가 au BufWritePost $MYVIMRC,$MYGVIMRC있습니까?
" Quickly edit/reload this configuration file
nnoremap gev :e $MYVIMRC<CR>
nnoremap gsv :so $MYVIMRC<CR>
저장시 자동으로 다시로드 하려면 에 다음을 추가하십시오 $MYVIMRC.
if has ('autocmd') " Remain compatible with earlier versions
augroup vimrc " Source vim configuration upon save
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
마지막으로 다음을 입력합니다.
:so %
다음에를 저장하면 vimrc자동으로 다시로드됩니다.
풍모:
:messages).fugitive://차이점 무시 ).vim-tiny물론 자동 재로드는 vimrcvim에서 편집하는 경우에만 발생합니다 .
vim내가 편집중인 동일한 인스턴스에서 파일이 모두 열려있을 때만 작동하는 것 같습니다 $MYVIMRC. 예를 들어, 다른 터미널에있는 경우에도 수동으로 $MYVIMRC. 이 문제를 해결할 방법이 있습니까?
vim파일을 쓸 때 포착하여 작동 합니다. 파일 자체에서 mtime을 모니터링 할 수 있지만 비동기 폴링없이 수행하는 방법을 잘 모르겠습니다.
gvimrc파일이_vimrc또는 라는vimrc경우 또는.vimrc다른 디렉토리에서 라는 파일을 편집하는 경우 에는 작동하지 않습니다 . 이러한 문제를 해결하려면 내 대답을 참조하십시오.