2010-04-17 14:18:40 +0000 2010-04-17 14:18:40 +0000
545
545

¿Cómo recargas tu archivo .vimrc sin reiniciar Vim?

¿Puedes editar tu archivo .vimrc y recargarlo sin tener que reiniciar Vim?

Respuestas (4)

681
681
681
2010-04-17 14:24:51 +0000

Si lo estás editando, puedes recargarlo con:

:so %

% significa nombre de archivo actual (ver :h current-file) y :so es la abreviatura de :source, que lee el contenido del archivo especificado y lo trata como código Vim.

En general, para recargar el .vimrc actualmente activo, usa lo siguiente (ver Daily Vim ):

:so $MYVIMRC
79
79
79
2012-04-28 09:32:28 +0000

Mejor aún, configuras a Vim para que vigile los cambios en tu .vimrc y automáticamente recarga la config.

augroup myvimrc
    au!
    au BufWritePost .vimrc,_vimrc,vimrc,.gvimrc,_gvimrc,gvimrc so $MYVIMRC | if has('gui_running') | so $MYGVIMRC | endif
augroup END

Fuente: Nota: este método en particular observa las muchas variaciones de los nombres de los archivos de configuración de Vim para que sea compatible con la interfaz gráfica de Vim, Windows Vim, etc.

11
11
11
2016-09-02 14:12:06 +0000

Para recargar automáticamente al guardar, agregue lo siguiente a su $MYVIMRC:

" Quickly edit/reload this configuration file
nnoremap gev :e $MYVIMRC<CR>
nnoremap gsv :so $MYVIMRC<CR>

y luego, por última vez, escriba:

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

La próxima vez que guarde su vimrc, se recargará automáticamente.

Características:

  • Le dice al usuario lo que ha ocurrido (también registrándose en :messages)
  • Maneja varios nombres para los archivos de configuración
  • Asegura que sólo coincidirá con el archivo de configuración real (ignora las copias en otros directorios, o un fugitive:// diff)
  • No generará un error si utiliza vim-tiny

Por supuesto, la recarga automática sólo ocurrirá si editas tu vimrc en vim.

5
5
5
2015-06-17 10:36:59 +0000

Una alternativa a recordar/escribir :so $MYVIMRC son estos mapas. Te permite editar rápidamente el vimrc (ev) o el vimrc de origen (sv).

" Quickly open/reload vim
nnoremap <leader>ev :split $MYVIMRC<CR>  
nnoremap <leader>sv :source $MYVIMRC<CR>