Vim을 떠나지 않고 vimrc를 어떻게 다시로드합니까?


49

에서 변경을 수행하면 .vimrc일반적으로 Vim을 종료하고 다시 엽니 다. 새로운 .vimrc변경 사항 을 다시로드하는 더 쉬운 방법이 있습니까?

답변:


46

운영:

:source $MYVIMRC

Vim 내부에서 vimrc파일 을 다시로드 하십시오. 또는 더 짧은 버전 :

:so $MYVIMRC

kenorb 의 의견에서 언급했듯이 .

이러한 형식 중 하나를 키에 매핑하는 것이 유용 할 수도 있습니다. 예를 들면 다음과 같습니다.

nnoremap <Leader>r :source $MYVIMRC<CR>

2
바로 가기 : :so $MYVIMRC.
kenorb

@ kenorb : 나는이 가능성을 추가했습니다; 언급 해 주셔서 감사합니다!
Paul Gessler

:so $m<Tab> ← 바로 가기
Aaron Thoma

3
로 두 번의 키 입력을 저장하십시오 :so %. %이 경우 편집하는 버퍼의 현재 파일 이름으로 설정됩니다.$MYVIMRC
cbaumhardt

1
가장 쉬운 방법은 저장시 vimrc를 자동으로 다시로드하는 것입니다. 다른 답변을 확인하십시오.
Tom Hale

20

한 번에 파일을 한 번만 다시로드하려는 경우

:source $MYVIMRC

바울이 쓴대로 맞습니다. vimrc를 자주 변경하면 vimrc 파일에 다음과 같이 추가 할 수 있습니다.

autocmd BufWritePost .vimrc,_vimrc source $MYVIMRC

파일을 작성할 때 파일을 다시로드합니다 (vim 세션 내에서)


1
johannes :이 명령이 파일을 자동으로 소싱하려면 vim을 통해 .vimrc를 편집해야합니까?
Sai Manoj Kumar Yadlapati

5
vimrc 파일은 다른 것들이라고도 할 수 있습니다. 예를 들어 vimrc (~ / .vim에있는 경우).
user50136

1
@SaiManojKumarYadlapati 예, AS는 이것이 동일한 vom 세션이어야한다고 말했다. Bufwritepost는 VOM은 쓰기 수행 할 때 트리거
요하네스

이것에 대한 문제 : (1) 작동하지 않음 .vim/vimrc, (2) 중복을 생성 autocmd하므로 파일이 여러 번 다시로드 될 때마다 각 후속 저장이 느려집니다. (3) vim-tiny와는 동작하지 않습니다. autocmd가 있으며 일부 Linux 배포판에서 여전히 기본값입니다. 이 문제를 해결하려면 내 답변을 참조하십시오.
Tom Hale

2
" 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://diff 는 무시 )
  • 사용하면 오류가 발생하지 않습니다 vim-tiny

물론 자동 재로드는 vimrcvim 을 편집하는 경우에만 발생합니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.