Vimperator で読み込む設定ファイルを分岐する

.vimperatorrc を git で管理してて、家の Mac と職場の Windows で設定ファイルを共用してる。

で、C-k で Emacs よろしくなことがしたいため、以下を設定したところ、Mac での挙動がおかしくなるので、これを Windows のみに適用したい。

inoremap <C-k> <S-End><C-x>
cnoremap <C-k> <S-End><C-x>

調べたら services.get("environment") で環境変数が取れるようなので、次のようにすれば Windows のときのみそれ用の設定ファイルを読み込むができ、それに上記の設定を書けばいい感じになった。

javascript <<EOM
if ( services.get("environment").get("OS").match(/Windows/i) ) {
  io.source("~/vimp/_win_vimperatorrc", false);
}
EOM

追記

コメントで config.features を教えていただいた。で、ソースを読んでたら

has: function (feature) config.features.indexOf(feature) >= 0

とあったので、次のようにするとスマート!

javascript <<EOM
if ( liberator.has("Windows") ) {
  io.source("~/vimp/_win_vimperatorrc", false);
}
EOM