Question Comment rechargez-vous votre fichier .vimrc sans redémarrer vim?


Pouvez-vous éditer votre .vimrc fichier et le recharger sans avoir à redémarrer Vim?


495
2018-04-17 14:18


origine




Réponses:


Si vous le modifiez, vous pouvez le recharger avec:

:so %

% représente le nom de fichier actuel (voir :h current-file) et :so est court pour :source, qui lit le contenu du fichier spécifié et le traite comme du code Vim.

En général, pour recharger le fichier .vimrc actuellement actif, utilisez ce qui suit (voir Vim Quotidien):

:so $MYVIMRC

611
2018-04-17 14:24



Jettes un coup d'oeil à stackoverflow.com/questions/803464/ - mrucci
et :so ~/.vimrc devrait travailler aussi sur unix - Yab
: donc ~ / _vimrc fonctionne sur Windows. Bien sûr, je garde mon _vimrc dans mon répertoire personnel Windows, sinon cela ne fonctionnera pas. Pour voir ce que Vim considère comme votre répertoire personnel, utilisez :echo expand("~"). - Daniel Miladinov
Notez que si les mappages de clavier étaient déjà en place, ils ne seront pas effacés même s'ils sont supprimés du nouveau vimrc. - Phani


Encore mieux, vous configurez Vim pour surveiller les changements dans votre .vimrc et recharger automatiquement la configuration.

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

La source: cette réponse sur SO

Remarque: cette méthode particulière surveille les nombreuses variantes des noms de fichiers de configuration de Vim afin qu’elle soit compatible avec GUI Vim, Windows Vim, etc.


76
2018-04-28 09:32



Quelle est la performance de cette méthode? - Alexej Magura


Mappages de clés

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

Solution entièrement automatisée

À 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 puis pour la dernière fois, tapez:

:so %

La prochaine fois que vous enregistrez 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
  • S'assure qu'il ne correspond qu'au fichier de configuration réel (ignore les copies dans d'autres répertoires ou fugitive:// diff)
  • Ne générera pas d'erreur si vous utilisez vim-tiny

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


8
2017-09-02 14:12





Une alternative à la mémorisation / saisie :so $MYVIMRC est ces cartographies. Il vous permet de modifier rapidement vimrc (ev) ou source vimrc (sv).

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

4
2018-06-17 10:36