表題どおりの件です。
基本的な設定
ひとまず自分がvimrcの頭に記載している設定を掲載
詳細は下に
vimrc
" init all settingssetall&
" init autocmd
autocmd!" set script encodingscriptencoding utf-8" tiny と small では これ以上 vimrc を読み込まないif!1|finish|endif" This is vim, not vi.setnocompatible" syntax hilightsyntax enable
" auto reload .vimrc
augroup source-vimrc
autocmd!
autocmd BufWritePost *vimrc source $MYVIMRC |setfoldmethod=marker
autocmd BufWritePost *gvimrc if has('gui_running') source $MYGVIMRC
augroup END
vimrcの再読み込み
少なくとも再読み込みに必要なのは以下の設定
vimrcと名前のつくファイルを更新したら、source $MYVIMRC
を実行
vimrc
" auto reload .vimrc
augroup source-vimrc
autocmd!
autocmd BufWritePost *vimrc source $MYVIMRC |setfoldmethod=marker
autocmd BufWritePost *gvimrc if has('gui_running') source $MYGVIMRC
augroup END
参考:
Hack #74: 簡単にvimrcを編集する
Vimでvimrcを編集しやすくする記述とvimrcのリロードでモードラインの設定が無視される問題
普段gvimは使わないのでよく知りませんが、
gvimの場合は、sourceするだけでは反映されない設定があるようなので
tyruさんの、restart.vim あたりをつかうと捗るらしいです(要検証
参考:
[vim]現在の状態を復元して gVim を再起動する
再読み込み前に設定をリセット
ただこれだけだと、例えば set expandtab
などをコメントアウトした場合に、
Tabが入力される状態に戻ってくれなかったりする。( set noexpandtab
としないといけない )
ちょっとそれは面倒なので、再読み込みのたびに最初に設定をデフォルトに戻す。
vimrc
" init all settingssetall&
これで set expandtab
をコメントアウトか削除するだけで、すぐにTabが入力される状態になった。
ついでにgroup設定のされていない autocmd
もリセットしているけれども、必要性は不明
vimrc
" init autocmd
autocmd!
ついでにすぐにvimrcを開けるようにする
自分は ,v
でvimrcを開くようにしています。
vimrc
" Edit vimrc
nmap ,v :edit $MYVIMRC<CR>