I want to edit .vimrc file from Vim and apply them without restarting Vim.
.vimrc
source your vimrc file :source ~/.vimrc
:source ~/.vimrc
Yes, just use the :so % command while editing your .vimrc.
:so %
If you want vim to auto-reload your configuration, you must add the following commands :
augroup myvimrchooks au! autocmd bufwritepost .vimrc source $MYVIMRC augroup END
the grouping of autocommand is here to avoid "exponential" reloading if you save several times your configuration.
Here's a more cross-platform compatible version if you run on Mac/Windows/Linux and gvimrc:
gvimrc
augroup myvimrc au! au BufWritePost .vimrc,_vimrc,vimrc,.gvimrc,_gvimrc,gvimrc so $MYVIMRC | if has('gui_running') | so $MYGVIMRC | endif augroup END
The autocmd watches all potential *vimrc files and when one changes, it reloads the vimrc file followed by gvimrc if the GUI is running.
*vimrc
vimrc
autocmd! bufwritepost _vimrc source %
this will automatic reload all config in _vimrc file when you save
" 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:
$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:
The next time you save your vimrc, it will be automatically reloaded.
Features:
:messages
fugitive://
vim-tiny
Of course, the automatic reload will only happen if you edit your vimrc in vim.