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.

Nemoden
la source

Réponses:

129

:source ~/.vimrc

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

Alternativement

:source $MYVIMRC

libre penseur
la source
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.

doyen
la source
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
15

:so %

si vous éditez actuellement .vimrc

storypixel
la source
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.

Tom Hale
la source