다시 시작하지 않고 Vim에서 .vimrc를 다시로드하십시오.


93

내가 뭔가를 쓸 때 나를 귀찮게 .vimrc하고 변경 사항을 적용하려면 먼저 닫고 열어야합니다. .vimrcVim을 닫지 않고 다시로드하는 방법이 있습니까?

예 내가 추가 한 set nu~/.vimrc난 줄 번호 내 모든 창문과 버퍼에 대한 표시 할.

답변:



18

다음은 후손을위한 것입니다. .vimrc에 다음을 추가하십시오.

map <leader>vimrc :tabe ~/.vim/.vimrc<cr>
autocmd bufwritepost .vimrc source $MYVIMRC

첫 번째 줄은 리더를 입력 한 다음 "vimrc"를 작성하여 vim 버퍼에서 vimrc를 열 수 있음을 의미합니다. 예를 들어 리더가 쉼표로 설정되어 있으므로 편집 모드에 있고 ", vimrc"를 입력하면 vimrc가 새 탭에서 열립니다.

두 번째 줄은 vimrc를 저장하고 닫을 때 변경 사항을 자동으로 가져옵니다. 마법이다.


1
이상적으로 map <leader>vimrc :tabe $MYVIMRC<cr>autocmd와 일치하지 않습니까?
Nick Bisby

@NickBisby 저에게는 모든 것이 소스 제어를 유지할 수 있도록 ~/.vimrc소스를 제공하는 스텁입니다 ~/.vim/.vimrc. 대부분의 사람들은 당신이 옳습니다 :tabe $MYVIMRC<cr>.
Dean

1
또는 스텁이 아닌 실제 .vimrc 파일에 대한 심볼릭 링크를 사용할 수 있습니다.
Spoike

커서의 위치를 ​​바꾸지 않고 vimrc를 어떻게 다시로드 할 수 있습니까?
SergioAraujo


4
" 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.