Pregunta ¿Cómo recarga su archivo .vimrc sin reiniciar vim?


¿Puedes editar tu .vimrc archivo y vuelva a cargarlo sin tener que reiniciar Vim?


495


origen




Respuestas:


Si lo está editando, puede volver a cargarlo con:

:so %

% representa el nombre del 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 de Vim.

En general, para volver a cargar el .vimrc actualmente activo, utilice lo siguiente (consulte Daily Vim)

:so $MYVIMRC

611



Mira esto stackoverflow.com/questions/803464/... - mrucci
y :so ~/.vimrc debería funcionar también en Unix - Yab
: so ~ / _vimrc funciona en Windows. Por supuesto, mantengo mi _vimrc en el directorio de inicio de Windows o, de lo contrario, no funcionará. Para ver qué Vim considera su directorio personal, use :echo expand("~"). - Daniel Miladinov
Tenga en cuenta que si las asignaciones de teclado ya estaban en su lugar, entonces no se borrarán, incluso si se eliminan del nuevo vimrc - Phani


Aún mejor, configura Vim para observar los cambios en su .vimrc y recarga automáticamente la configuración.

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

Fuente: esta respuesta en SO

Nota: este método particular observa las variaciones de los nombres de archivo de configuración de Vim para que sea compatible con GUI Vim, Windows Vim, etc.


76



¿Qué tan eficiente es este método? - Alexej Magura


Mapeos clave

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

Solución completamente automatizada

A automáticamente vuelva a cargar al guardar, agregue lo siguiente a su $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

y luego, por última vez, escribe:

:so %

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

caracteristicas:

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

Por supuesto, la recarga automática solo ocurrirá si edita su vimrc en vim.


8





Una alternativa para recordar / escribir :so $MYVIMRC son estas asignaciones. Te permite editar rápidamente vimrc (ev) o fuente vimrc (sv)

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

4