¿Cómo impulsar un cambio de vimrc a todas las ventanas abiertas sin hacer nada adicional cada vez?

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.

Leave a Comment

Your email address will not be published. Required fields are marked *

web tasarım