Jak przeładować plik .vimrc bez restartu vima?
Czy możesz edytować swój plik .vimrc
i przeładować go bez konieczności restartu Vima?
Czy możesz edytować swój plik .vimrc
i przeładować go bez konieczności restartu Vima?
Jeśli go edytujesz, możesz go ponownie załadować za pomocą:
:so %
%
oznacza aktualną nazwę pliku (patrz :h current-file
), a :so
jest skrótem od :source
, który odczytuje zawartość podanego pliku i traktuje go jako kod Vima.
Ogólnie rzecz biorąc, aby ponownie załadować aktualnie aktywny .vimrc, użyj następującej opcji (patrz Daily Vim ):
:so $MYVIMRC
Jeszcze lepiej, konfigurujesz Vima do śledzenia zmian w .vimrc
i automatycznie przeładować konfigurację
augroup myvimrc
au!
au BufWritePost .vimrc,_vimrc,vimrc,.gvimrc,_gvimrc,gvimrc so $MYVIMRC | if has('gui_running') | so $MYGVIMRC | endif
augroup END
Źródło: ta odpowiedź na SO
Uwaga: Ta konkretna metoda obserwuje wiele wariantów nazw plików konfiguracyjnych Vima tak, aby była kompatybilna z GUI Vima, Windows Vima, itp.
" Quickly edit/reload this configuration file
nnoremap gev :e $MYVIMRC<CR>
nnoremap gsv :so $MYVIMRC<CR>
To automatically reload upon save, add the following to your $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
and then for the last time, type:
:so %
The next time you save your vimrc
, it will be automatically reloaded.
Features:
:messages
) fugitive://
) vim-tiny
Oczywiście, automatyczne przeładowanie nastąpi tylko wtedy, gdy edytujesz swój vimrc
w vimie.