web-dev-qa-db-ja.com

再起動せずにVimに.vimrcを再ロードする

私が.vimrcに何かを書いたときそれは私を悩ませます、そして私は私の変更が適用されることを得るために最初にそれを閉じそして開く必要があります。閉じずにVimで.vimrcをリ​​ロードする方法はありますか?

例えば。私はset nu~/.vimrcを追加しました、そして私は私のすべてのウィンドウとバッファのために行番号が現れることを望みます。

87
Nemoden

:source ~/.vimrc

あなたの.vimrcを適用するでしょう、vimの内側からそれを実行してください

交互に

:source $MYVIMRC

122
freethinker

これは後世のものです。以下を.vimrcに追加してください。

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

1行目は、リーダーを入力してから "vimrc"と書くことで、どのvimバッファーからでもvimrcを開くことができるということです。たとえば、リーダーがコンマに設定されているので、編集モードで「、vimrc」と入力すると、新しいタブでvimrcが開きます。

2行目では、保存して閉じると自動的にvimrcへの変更が反映されます。魔法です。

18
Dean

:so %

現在編集中の場合は.vimrc

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

保存時に自動的にリロードするには、以下を$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

そして最後に、次のように入力します。

:so %

次回vimrcを保存するときには、自動的に再ロードされます。

特徴:

  • 何が起こったのかをユーザーに知らせます(:messagesにもログを記録します)
  • 構成ファイルのさまざまな名前を処理します
  • 実際の設定ファイルとのみ一致するようにします(他のディレクトリのコピー、またはfugitive:// diffは無視します)。
  • vim-tinyを使用してもエラーにならない

もちろん、自動リロードはあなたがvimrcをvimで編集した場合にのみ起こります。

4
Tom Hale