web-dev-qa-db-fra.com

Rechargez .vimrc dans Vim sans redémarrer

Cela me dérange quand j'ai écrit quelque chose dans .vimrc et je dois d'abord le fermer et l'ouvrir pour que mes modifications soient appliquées. Y at-il un moyen de recharger .vimrc dans Vim sans le fermer?

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

87
Nemoden

:source ~/.vimrc

Exécutez cela depuis vim, cela appliquera votre .vimrc

Alternativement

:source $MYVIMRC

122
freethinker

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 édition et que je tape ", vimrc", il ouvre mon vimrc dans un nouvel onglet.

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

18
Dean

:so %

si vous éditez actuellement .vimrc

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

Pour automatiquement recharger 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 sauvegarderez votre vimrc, il sera automatiquement rechargé.

Caractéristiques:

  • 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 diff fugitive://)
  • Ne générera pas d'erreur si vous utilisez vim-tiny

Bien sûr, le rechargement automatique ne se produira que si vous éditez votre vimrc dans vim.

4
Tom Hale