Rechargez .vimrc dans Vim sans redémarrer


93

Cela me dérange lorsque j'écris quelque chose .vimrcet que je dois d'abord le fermer et l'ouvrir pour que mes modifications soient appliquées. Existe-t-il un moyen de recharger .vimrcdans Vim sans le fermer?

Par exemple, j'ai ajouté set nuà ~/.vimrcet je veux que les numéros de ligne apparaissent pour toutes mes fenêtres et tampons.

Réponses:


129

:source ~/.vimrc

Exécutez cela à partir de vim, cela appliquera votre .vimrc

Alternativement

:source $MYVIMRC


18

En voici un pour la postérité. Ajoutez les éléments suivants à votre fichier .vimrc:

map <leader>vimrc :tabe ~/.vim/.vimrc<cr>
autocmd bufwritepost .vimrc source $MYVIMRC

La première ligne signifie que vous pouvez ouvrir votre vimrc à partir de n’importe quel tampon vim en tapant votre leader, puis en écrivant "vimrc". Par exemple, mon chef est défini sur virgule, donc si je suis en mode d'édition et que je tape ", vimrc", il ouvre mon vimrc dans un nouvel onglet.

La deuxième ligne indique automatiquement les modifications apportées à votre vimrc lorsque vous enregistrez et fermez-le. C'est magique.


1
Idéalement, ne voudriez-vous pas map <leader>vimrc :tabe $MYVIMRC<cr>faire correspondre l'autocmd?
Nick Bisby le

@ NickBisby Pour moi, ~/.vimrcc'est juste un stub source ~/.vim/.vimrcqui me permet de tout garder sous contrôle de source. Pour la plupart des gens, vous avez raison, ce serait le cas :tabe $MYVIMRC<cr>.
Dean

1
Sinon, vous pouvez utiliser un lien symbolique vers votre fichier .vimrc actuel au lieu de l’avoir comme un stub.
Spoike

Comment puis-je recharger vimrc sans changer la position de mon curseur?
SergioAraujo


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

Pour recharger automatiquement lors de la sauvegarde, ajoutez ce qui suit à votre $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

et pour la dernière fois, tapez:

:so %

La prochaine fois que vous enregistrez votre fichier vimrc, il sera automatiquement rechargé.

Fonctionnalités:

  • Indique à l'utilisateur ce qui s'est passé (se connectant également à :messages)
  • Gère divers noms pour les fichiers de configuration
  • Assure qu'il ne correspond qu'au fichier de configuration actuel (ignore les copies dans d'autres répertoires, ou un fugitive://diff)
  • Ne générera pas d'erreur si vous utilisez vim-tiny

Bien entendu, le rechargement automatique ne se produira que si vous modifiez votre vimrcin vim.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.