2009/09/18ツイートVimの戦闘力を効率的に上昇させるためには、素早く.vimrcや.gvimrcを編集できる環境が必要となります。ここではVimの設定を工夫することで、.vimrcの変更を即Vimに反映させる方法について解説します。.vimrcや.gvimrcを編集するためのKey-mappingを定義するまずはすぐに.vimrcや.gvimrcを編集できるように、.vimrcにKey-mappingを定義しましょう。$MYGVIMRC<CR>$MYVIMRCというのは特殊な環境変数で、現在使用している.vimrcへのパスが含まれています。$MYGVIMRCも同様に、.gvimrcへのパスが含まれています。環境によって.vimrcや.gvimrcへのパスは異なるため、これを利用することで確実に.vimrcや.gvimrcを編集することができます。.vimrcや.gvimrcの変更を反映するためのKey-mappingを定義する即座に.vimrcや.gvimrcを編集できるように設定しても、設定を反映させるためにはVimをいったん再起動しなければならず不便です。.vimrcにKey-mappingを定義しましょう。$MYGVIMRC<CR>.vimrcや.gvimrcを変更すると、自動的に変更が反映されるようにするしかし変更を適用するたびに、いちいちキーを入力するのは面倒です。自動的に変更が反映されるように.vimrcに設定してしまいましょう。$MYGVIMRCendif記述の注意.vimrcや.gvimrcを何度も読み込む設定にしていると、記述の仕方によってはエラーが発生したり動作がおかしくなったりします。ここでは、それらへの対策を解説します。普通関数やコマンドを定義するときには、commandやfunctionを使うことがあるかも知れませんが、これらはすでにある関数やコマンドを上書きできないため、設定ファイルを何度も読み込ませるとエラーとなります。上書きできるように、command!やfunction!を使用しましょう。autocmdの定義autocmdは常に追加されます。設定ファイルを何度も読み込むとautocmdが頻繁に追加され、Vimの動作がおかしくなる原因となります。これを防ぐためには、.vimrcの先頭で一度autocmdをリセットします。formatoptions-=roautocmdを全部削除するのに抵抗があるのならば、augroupを設定するとさらに便利になります。augroupを参照してください。formatoptions-=roオプションの設定オプションの初期値に値を追加する場合、次のように設定することがあると思います。hoge_option+=piyoしかし設定ファイルを何度も読み込ませる場合、前の値が追加されてしまい、動作がおかしくなります。.vimrcには次のように設定し、一度初期値をロードするようにしましょう。Vol.52の特集「Vimの流儀」にも詳しく書いてあります。どちらもkana氏の書いた必読の資料なので、参考にすると良いでしょう。