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