Pregunta:
¿Hay alguna manera de enviar un cambio de vimrc a todas las ventanas abiertas e instancias de vim sin tener que escribir / cambiar ningún búfer o volver a abrir vim? Me gustaría que vim pudiera comportarse como un IDE moderno para esto, ya que cambio mucho mi vimrc y estoy tratando de aprender más secuencias de comandos de vim.
Respuesta:
Utilizo el siguiente autocmd
que autocmd
mi .vimrc
cada vez que termino de editarlo y lo cierro.
augroup reloadvimrc
autocmd!
" auto source whenever vimrc fully closed
" nested because (as of vim 8.0 patch 1-823) needed to do ColorScheme cmds
" autocmd BufWinLeave $MYVIMRC nested source $MYVIMRC
autocmd BufWinLeave $HOME/.vimrc nested source $HOME/.vimrc
augroup end
Además, utilizo la siguiente asignación para facilitar la edición de mi .vimrc
" \V open ~/.vimrc
" nmap <leader>V :-tabf $MYVIMRC<CR>
" bc neovim
nnoremap <leader>V :-tabf $HOME/.vimrc<CR>
vnoremap <leader>V :-tabf $HOME/.vimrc<CR>
En general, esto manejará la mayoría de los casos que le preocupan. Tengo entendido que nunca se puede lograr una recarga completa y limpia sin reiniciar Vim debido a elementos como VimEnter
y statefulness.