Vimperatorにはもともと外部コマンドを実行する機能がある。例えば、
:!ruby -v
とやるとRubyのバージョンが表示される。
この機能を使って、天気を確認するRubyスクリプトをVimperatorから実行できるようにしてみた。
天気予報は、Weather HackというRubyライブラリもあるのだが、この方法では降水確率がわからない。そこで、降水確率が載っているMSNの天気予報のRSSを取得する。以下は、そのためのRubyスクリプトと_vimperatorrcに追加する記述(commandを使ってコマンドをユーザー定義している)である。
スクリプトを書いていた思ったが、正規表現は普段から書いていないと、なかなか書けない。今回はソースのコメントに書いたページから、そのまま持ってきた。RSSの取得自体は簡単だったので、同じ方法が他の目的にも使えそうだ。
これで、Vimperatorから
:tenki
と打つだけで(補完も効く)、当日と翌日の天気予報と降水確率が確認できる(なお、実行するRubyスクリプトのパスに「My Documents」のような空白が含まれていると、うまく動かなかった)。
この方法を使えば、普段使ういろいろなコマンドをVimperatorから呼び出すようにすることもできそうだ(というか、これだけだとasahi.comの天気予報のページを「M」でマークして「go」でジャンプした方が早そうだ・・・)。