ユナイトプリキュア!このあとVim!

by Yuji Yamamoto on December 25, 2014

Tagged as: Precure, Vim.

この記事は、 この記事は「プリキュア Advent Calendar 2014」25日目の記事です。
前日の記事は@_signalessさんのtweetでした。
いよいよ最終日、クリスマスですね~!

そこにあるバグ!プログラマの日常!

このAdvent Calendarの読者にはIT関連の仕事をされない方1も多いと思うので、 そうした方々のために説明しますと、われわれプログラマは、 プログラムを書いているとしばしばプリキュアのことを思い出す必要に駆られます。
例えば…

ひよっこプログラマ
「うーん、キュアダイヤモンドがジコチューを浄化するときのセリフってなんだっけ…?」
先輩プログラマ
「『きらめきなさい!トゥインクルダイヤモンド!』だよ。それぐらい自分で調べろ。」
ひよっこプログラマ
「ありがとうございます先輩!これでさっきから2時間ほどハマってたバグも潰せそうです!」

どこにでもある、微笑ましい開発風景ですね!

こんな場合は、ググるなり人に聞くなりDVDを見なおすなりして解決するのが定石なようですが、 sue445さんが作ってくれたrubicureを始め、 drillbitsさんのpycureligunさんのGroovyCurekanさんのACME::PrettyCurekaさんのClocure、 といった各言語のプリキュア実装は、それよりももっと確実で高速なソリューションを提供してくれます。
今回はそのうち、我らが(?)プリキュアAdvent Calendar 2014の発起人、sue445さんのrubicureのパワーをもっと活用するため、 ググるよりもREPLを起動するよりももっともっとも〜っと高速にプリキュアについて検索できるよう、エディタからプリキュアを検索するプラグインを作りました!
その名も「ユナイトプリキュア!」です!

igrep/unite-precure

(黒い画面で)輝け!ユナイトプリキュア!

名前通り、unite.vimの拡張です。unite.vimがなんなのか、などの情報はひとまず割愛します。
要するにVimからunite.vimを利用してプリキュアの情報を検索するためのプラグインです。
これにより、コーディング中ちょっと思い立った時にいつでもプリキュアの情報を引き出せるようになります。 例えば先程のひよっこプログラマさんのようにキュアダイヤモンドの必殺技(っていう言い方でいいのかな、プリキュアの場合…)を調べる場合下記のような感じで使えます。

ご覧の通り、「Unite precure」コマンドで起動し、プリキュアの名前をアルファベットで入力(上記の場合、diamond)、 タブキーを押してアクションを表示、「attack」を選択すれば、見事にキュアダイヤモンドの必殺技を入力できます。
アクションのリストにあったとおり、他にも変身シーンでのセリフや、日本語の名前も簡単に入力できるようになってます。
これならひよっこプログラマさんのように2時間もハマる必要はないでしょう。

ぱっと思いつきで作ったため、正直なところまだまだいろいろ機能不足なところはありますが、まぁ気が向いた時に拡張しようかな、と思います。 もちろんPull Requestも歓迎です。

プリキュア!ネオバンドルインストール!

先程も触れたとおりrubicureに依存しているため、利用するにはif_ruby付きでコンパイルされたVimが必要です2
お使いのVim上で:versionコマンドを実行し、+rubyと書かれていなければ頑張って再コンパイルしましょう。
自分は「Linux(Ubuntu)で(G)Vimをコンパイルする | コンピュータ忘備録」を参考にしました。
MacやWindowsをお使いの方は、おなじみKaoriyaのvimを使いましょう。
Windowsの場合は更にRubyInstaller for WindowsRuby 2.0をインストールしてください。
本校執筆時点でKaoriyaのVim (ver. 7.4.475)は、Ruby 2.0での利用を想定しています。なので必ずRuby 2.0を選んでください。
PATHにRubyを設定するのも忘れないでくださいね。
そしてもちろんRubyをインストールしたらgem install rubicureして、rubicureをインストールしましょう。

仕上げはやっぱり本プラグインunite-precureのインストールです。
Vimプラグインのインストール方法はいろいろありますが、 とりあえずneobundle.vimを使った方法を紹介します。
と言ってもneobundle.vimに慣れてらっしゃる方はもはや言うまでもないかと思いますが…。

vimrcなど、NeoBundleするプラグインを書いているところで

NeoBundle 'igrep/unite-precure'

してVimを再起動すれば多分動きます。

駆け足になってしまいましたが、以上がunite-precureのインストール方法です。
プリキュアが好きなVimmerの方はぜひお試しください!

最後に。rubicureという素晴らしいgemを書いてくださったsue445さん、 PreCure Driven Developmentの楽しさを教えてくださったligunさんありがとうございました! PDD楽しかったです!

次回!

25日目なんでプリキュア Advent Calendar 2014はこれで最後です!
来年のプリキュア Advent Calendarも楽しみですね!


  1. そもそも、いつ誰がAdvent CalendarはIT関係の記事を書くイベントとして広めたのでしょう。誰か教えてください!

  2. なぜif_pythonとかに比べて普及してないif_rubyにしたかって? 自分が一番得意というのもありますが、Vimから使える言語のプリキュア実装の中でrubicureが一番メンテされていたからなのです…。


I'm a Haskeller Supported By Haskell-jp.