理系学生日記

おまえはいつまで学生気分なのか

KeyRemap4MacBook で Mac そのものを Vimperator 化する

背景

Vimperator といえば Firefox の超有名アドオンです。Firefox にはこのアドオンがあるために、ぼくは Chrome に移行できない。
Vimperator のなにが良いかというと、Firefox が Vi のキーバインドで操作できる点にあります。

ぼくは Emacs 派ですから、それだったら Firemacs があるんじゃないのと訝る向きもあるでしょうが、ブラウザといえば編集ではなく閲覧です。そしたらほとんどの場合に 2 ストロークのキー入力が必要となるような Emacs のキーバインドよりも、hjkl という片手でほぼ閲覧操作が可能な Vi のキーバインドの方に快適性の分があるとぼくは思っています。


閲覧は Vi のキーバインドが快適なわけですが、XCode のドキュメントとか、Preview で PDF の電子書籍を読むのも閲覧です。しかし、閲覧するアプリケーションは Firefox ではありませんから、Vimperator の恩恵に預かることはできません。しかし、これらのアプリをいちいちトラックパッドで操作するのダルいし、これもキーボードで、しかも片手で操作したいよなー、j/k キーで上下移動させたいよなーって twitter でブツブツいってると、「それ KeyRemap4MacBook でできるよ!」って教えてもらったのでやってみました。

KeyRemap4MacBook

KeyRemap4MacBook は Mac 用のキーボードカスタマイズ用のユーティリティソフトですが、これには Vi Mode がついています。

Vi Mode の限界

しかしこの Vi Mode はなぜか 2 ストローク必要、Ctrl などの修飾キーを第一ストロークとして押しておくことが必須なキーバインドになっています。これでは結局両手が必要になりますから、ぼくの要求を満足しません。
ちなみに Simultaneous Vi Mode っていうのも用意されてるけど、これは S と D キーを同時押ししているときじゃないと Vi のキーバインドが有効にならない。
かなしくてかなしくてぼくは三日三晩泣きつづけた。
http://img.skitch.com/20110828-cc87ktfanym4g6ygfthpei4drf.jpg

しかし Complete Vi Mode がある

しあし、ぼくたちには Complete Vi Mode があります。
Complete Vi Mode は、Vi のキーバインディングと通常のキーバインディングをトグルキーで切り換えることができるため、その名前の通り hjkl キーのみでの上下左右の移動や、gg での先頭への移動等、Vimperator の操作感で Preview だろうが XCode だろうが取り扱えることになります。これや、おれのほしかったのはまさにこれやったんや!!
http://img.skitch.com/20110828-prwwqp8ki5ftni7jcdf67s1q4h.jpg

ぼくは "V" キーの長押しで Complete Vi Mode に移行するようにしてます。Growl さえ入れておけば、Mode が enable になったか disable になったか通知してくれるのでマジ便利。世界がかわる。