Feel Physics Backyard

HoloLensの出張授業をする会社で、教材を開発しています

100322-rubyスクリプト(RSS取得)をVimperatorから実行して結果が見えるようにするには

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」でジャンプした方が早そうだ・・・)。