Firefox拡張:FirefoxをVim風のキーバインドで操作するVimperator

 Vimユーザがさまざまな場面でVimを使用することにこだわるのは、体で覚えるということが非常にパワフルであるためだ。つまりVimのキーバインドを一度覚えてしまえば、マウスを使いたいからという理由でキーボードから手を離すことが減り、Vimを使ってきわめて生産的に作業をすることができる。このようなVimのパワーをFirefoxでも活かしたいなら、Vimperator拡張を使ってみよう。Vimperatorを使えば、Firefoxを非常に便利な「モード」ベースのウェブブラウザに変身させることができる。

 Vimperator拡張(最新バージョン0.4.1)は、Mozdev.orgから入手することができる。インストールするためには、Mozdev.orgでVimperator拡張の最新バージョンのリンクをクリックすればよい。ただしその際、拡張のインストールを許可するサイトのリストにURLを追加する必要があるかもしれない。許可されているリストにURLが入っていない場合にはFirefoxのページ上部にそのことを伝える表示が出るので、その指示に従えば良い。

 Vimperatorをインストールした後Firefoxを再起動すると、Firefoxのメニューバーとロケーションバーとステータスバーが表示されなくなっていることに気付くことだろう。Vimperatorではデフォルトのステータスバーは独自のステータスバーに置き換わり、コマンドライン、現在表示中のURL、現在表示中のタブ番号、ページ全体における現在の表示位置などが表示される。「現在表示中のタブ番号」というのは、例えば5つのタブを開いていて、そのうちの2つめのタブを表示している場合には、ステータスバーに[2/5]と表示される。「ページ全体における現在の表示位置」というのは、ページの最上部を表示している場合にはTop、最下部を表示している場合にはBot、ページ半ばの部分を表示している場合にはページ全体に対するおおよそのパーセンテージが表示される。

 前述したようにFirefoxのツールバーはVimperatorでは表示されなくなってしまうのだが、Firefoxのツールバーの機能のどれかに関して無しで済ますことはできないという場合にも問題はない。Vimと同様に:に続けてコマンドを入力することで、コマンドモードでコマンドを入力することができるので、guioptionsの設定を変更してロケーションバーやメニューバーを表示させるためには、次のようなコマンドとEnterを入力すれば良い。

:set guioptions=mT

 上記のコマンドを実行すると、ロケーションバー(Tで指定)とメニューバー(mで指定)が再び表示されるようになるはずだ。なおブックマークバーを表示させるためにはb、Firefoxのデフォルトのステータスバーを表示させるためにはsを追加して指定すれば良い。

操作

 Vimやviのユーザであれば、ほとんどのVimperatorのキーバインドにすぐに馴染むことができるだろう。標準的なvi/Vimの移動用のキーは期待通りに動作する。つまり、kで上に移動、jで下に移動、hで右に移動、lで左に移動する。また、ggでページ最上部に移動、Gでページ最下部に移動することができる。

 Googleのようにテキストフィールドにカーソルが移動するページでは、コマンドモードではなく挿入モードになる。この場合、移動用のキーを使うか検索を開始すれば、テキストフィールドへのテキスト入力を終了することになる。またTabを入力するとカーソルを次のテキストフィールドに移動することができる。またEscを入力するとコマンドモードになる。

 ページの閲覧に関して言うと、Vimperatorには、閲覧の操作を非常に楽にキーボードから行なうことができるようになるコマンド一式が揃っている。すべてのコマンドをここで紹介することはできないが、手始めに覚えると便利なものを以下に示す。

  • gtまたはCtrl-n:次のタブに移動する
  • gTまたはCtrl-p:前のタブに移動する
  • gh:ユーザのホームページに移動する。
  • gH:新しくタブを開いてユーザのホームページに移動する。
  • gu:一つ上のディレクトリに移動する。例えばhttp://www.example.com/blog/にいるならhttp://www.example.com/に移動する。
  • H:ブラウザ履歴の一つ前のページに移動する。
  • L:ブラウザ履歴の一つ後のページに移動する。
  • :o http://www.example.com/ :http://www.example.com/を開く。
  • :o 検索語 :デフォルトの検索エンジンを使用して検索語を検索する。
  • :o ファイル名 :Firefoxでローカルのファイルを開く。
  • :q:現在表示中のタブを閉じる。現在表示中のタブが一つだけの場合はFirefoxを終了する。
  • zi:現在表示中のページの文字の大きさを25%拡大する。
  • zI:現在表示中のページの文字の大きさを100%拡大する。
  • zo:現在表示中のページの文字の大きさを25%縮小する。
  • zO:現在表示中のページの文字の大きさを100%縮小する。
  • zzzzだけで使用するとページを100%の大きさにリセットする。数値を付けて入力すると、25%から500%の間で自由に文字の大きさを設定することができる。したがって例えば「105zz」と入力すれば、通常の文字の大きさの105%の大きさに設定することができる。

 Vimperatorにはまた、「ヒント(Hint)」モードと呼ばれる複数のモードがある。ヒントモードでは、リンク先に移動するために使用することのできるショートカットを示した黄色のラベルが各リンクに付けられる。この機能はKonquerorのキーボード操作のための機能翻訳記事)によく似ている。

 QuickHintモードにするためにはfを入力する。すると各リンクにラベルが付けられるはずなので、ラベルに示されているショートカットを入力すればリンク先に進むことができる。したがって10個程度のリンクを含むページの場合であれば、各リンクにはA、B、C、D……というヒントが書かれたラベルが表示される。そこで例えばaと入力すると、そのリンク先のページが表示される。またAと入力すると、バックグラウンドで新しいタブを開いてリンク先のページが読み込まれる。

 さらにそれだけには留まらず、;を入力すればExtendedHintというモードを使うこともできる。ExtendedHintモードでも同じラベルが表示されるが、ショートカットを入力してもラベルがハイライトされるだけになる。しかしそうしてリンクを選択した後は、yと入力してURLをコピーしたり、Yと入力してアンカーテキスト(リンクテキスト)をコピーしたりすることなどができるようになる。