Vimのシステムのランタイム・ディレクトリは$VIMRUNTIME
で拾えるけど、ユーザーのはない。なのでポータブルなvimrc
を書けるようにWindowsとかでも$HOME/.vim
に揃えてた。Vim 7.4から(だと思う)ユーザーのランタイム・ディレクトリにvimrc
を置けるようになったので、そこに置けばvimrc
から<sfile>
を使って簡単に探せるようだ。
vimrc
をVim 7.4で置けるようになったところに置き(先頭のドットはいらない)、vimrc
に以下のように書いておく。
let $VIMRUNTIME_USER = expand('<sfile>:p:h')
これでvimrc
やgvimrc
で$VIMRUNTIME_USER
を使って手軽にアクセスできる。行儀悪いけど環境変数にしておくと、set
とかでも気軽に使えて良い。古い環境向けに$HOME/.vim
にフォールバックさせておくとなお良さそう。
ベスト・プラクティスありそうな気がすると思って、netrwのNetrwHome()
の実装とか見たらものすごくひどい感じだった……。