Vimperator――FirefoxをVim風のキーバインドで操作Firefox Hacks

意外に思われるかもしれないが、Vimやviと同じようなキーバインドでFirefoxを操作すると、人によっては極めて効率的にブラウジングを行えるようになる。すべての人にお勧めできるものではないが、キーボードをもっと活用するためのFirefox拡張機能を紹介しよう。

» 2009年02月25日 11時39分 公開
[前島梓,ITmedia]

 Vimやviなどのテキストエディタを日常的に利用している方にとって、マウスの操作というのはほんの片時でもキーボードから手を離さなければならないため、ある種の拷問に近いと感じる方もいるだろう。もし、キーボードの操作だけですべてを完結させることができれば、極めて効率的に作業ができるからだ。

 こうしたユーザーはWebブラウザであるFirefoxでも同じように扱えればと考える。そうしたユーザーには、Firefoxの拡張機能である「Vimperator」がお勧めだ。Vimperatorを使えば、Firefoxの基本的な操作をすべてキーボードから行え、さらに、使い勝手のよいモードベースのWebブラウザへと変身させることができる。

 本稿執筆時点(2009年2月下旬)のVimperatorの最新バージョンは1.2となっており、addons.mozilla.orgから入手できる。Vimperatorのインストール後にFirefoxを再起動すると、いつも見慣れた画面が少し変化していることが分かるだろう。

左がVimperator導入前、右が導入後。メニューバーとロケーションバーがなくなっているほか、画面下部に黒いステータスバーと、その下にコマンド入力用のフィールドが設けられる

 上図のとおり、もともと画面上部にあったメニューバーとロケーションバー、さらに画面下部のステータスバーが表示されなくなる。Vimperatorのインストールによって、メニューバーとロケーションバーなどが表示されなくなると、初心者は不安を覚えるかもしれない。ただし実際にはメニューバーなどの機能を直接呼び出すコマンドも用意(ex :addons)され、また、必要であれば後述するコマンドモードで「:set guioptions=」の後に表示させたい項目を入力してEnterキーを押すことで再び表示させることが可能だ。メニューバーは「m」、ロケーションバーは「T」、ブックマークバーは「b」が割り当てられており、例えば、メニューバーを表示させたいときは、「:set guioptions=m」を入力すればよい。

 Vimperatorのステータスバーは、従来のものと統合された形で表示されるため、従来のステータスバーに表示されていたような拡張機能はここに並ぶことになる。Vimperatorのステータスバーに表示される情報としては、現在表示中のURL、現在表示中のタブ番号、ページ全体における現在の表示位置などが挙げられる。

 また、その下にはコマンド入力用のフィールドが用意される。Vimperatorでは基本的にコマンドモードとなっているが、例えば、ページのテキストフィールドなどにカーソルがある場合は挿入モードとなる。Escキーを入力すると強制的にコマンドモードに移行するが、テキストフィールドなどからフォーカスを外すことでもコマンドモードとなる。コマンドモードでは最初に「:」を入力してから任意のコマンドを入力していくことになる。

ヘルプはあなたの強い味方

 Vimperatorには、さまざまな操作をキーボードから行うためのコマンドが豊富に用意されており、また自分好みにカスタマイズできるのだが、本稿では、まず最初に覚えておきたいもの基本的な操作方法について紹介していこう。

 すぐにキーバインドの説明に入りたいところだが、まずはヘルプコマンドを紹介しておこう。VimperatorのヘルプはVimと同様、コマンドモードで「:help」と入力すればよい。なお、コマンドモードでは数文字入力すればTabキーで候補が示されるので、必要なコマンドをすぐに探し当てられるだろう。

 例えば、コマンドモードで:helpを実行すれば、Vimperatorヘルプ文書のローカルのコピーが表示される。特定のコマンドにかんするヘルプを表示したい場合は、することもできる。例えばopenコマンドのヘルプを見たい場合には「:help :open」とすればよい。

 なお、コマンド群は無用なタイピングを避けるべく、可能な限り簡略化していることが多い。例えば、「:help :help」としてhelpコマンドのヘルプを参照してみると、「:h」などでもよいことが分かる。つまり、先ほどの「:help :open」だが、実は「:h :o」でも同様の結果が示される。こうした省略形のコマンドを使いこなせば作業効率はさらに向上するだろう。以下、本稿では特に断りのない限り、省略形のコマンドを記述するほか、「:」ではじまるものはコマンドモードで使用するキーバインドとする。

基本的なキーバインド

 viやVimを使ったことがある方なら、Vimperatorのキーバインドで迷うことは少ないだろう。ここでは、最も活用頻度が高いであろう移動系のキーバインドから紹介しよう。

移動用キーバインド

キー 挙動
j 上へのスクロール
k 下へのスクロール
h 左へのスクロール
l 右へのスクロール
gg ページの最上段へ
G ページの最下段へ
H ページを戻る
L ページを進む
r ページの更新
f リンク先を開く(クイックヒントモード:後述)

タブ操作

キー 挙動
d タブを閉じる
u 削除したタブを元に戻す
gtまたはCtrl+n 次のタブに移動
gTまたはCtrl+p 前のタブに移動
gh ホームページに移動
gH 新規タブを開いてユーザーのホームページに移動

文字の拡大など

 ほとんどの方にはあまり必要ないかもしれないが、文字の大きさを変化させるコマンドも用意されている。

キー 挙動
zi 現在表示中のページの文字を25%拡大
zI 現在表示中のページの文字を100%拡大
zo 現在表示中のページの文字を25%縮小
zO 現在表示中のページの文字を100%縮小
zz zzだけで使用するとリセット。数値をつけて入力すると、25%から500%の間で文字の大きさを設定可能

ウィンドウ操作など

キー/コマンド 挙動
:wino 新規ウィンドウを開く
:q ウィンドウを閉じる
:tabopen [url]またはCtrl+t 新規タブを開く(URLが指定されているときはそのURLをタブで開く)
:addons アドオン画面の表示
:preferences オプション画面の表示
:vie [url] ソースを表示
:resまたは:restart Firefoxを再起動
ZQまたは:qall Firefoxを終了する(セッションは保存しない)
ZZまたは:xa Firefoxを終了する(セッションは保存される)

クイックヒントモードと拡張ヒントモード

fキーでクイックヒントモードにしたところ。すべてのリンクに番号が振られるので、それを指定すればクリックしたのと同じことになる

 これらのうち、多少の慣れが必要と思われるのが、リンク先を開くための「f」キー、もしくはその拡張である「;」キーである。前者をクイックヒントモード、後者を拡張ヒントモードと呼んで区別する。

 クイックヒントモードは1つのリンクだけを指定して開くモードである。実際にfキーを押してみると、表示されている画面内の各リンクに数字のラベルが付き、この数字をキーボードから入力することでリンク先が現在のタブで開かれる。なお、Escキーを押すとこれらの数字のラベル表示は消える。

 一方、拡張ヒントモードは、選択したリンクに対してどういった処理をしたいのかを明示的に示すためのモードとなる。「:h ;」とすれば拡張ヒントモードのヘルプを参照できるが、要はリンク文字列を取得したり、リンク先のソースを見たりといった動作が行えるわけだ。

 書式としては「;{mode}{数字のラベル}」のようになっており、例えば29というラベルが表示されたリンク先のソースを表示させたいときは「;v29」と入力する。以下はmodeの部分で指定可能なものだ。

mode 効果
; リンクをフォーカスしてマウスでホバー
a リンク先を保存(保存先を求めるダイアログが出ます)
s リンク先を保存(保存先を求めるダイアログは出ません)
o リンク先を現在のタブで開く
t リンク先を新しいタブで開く
O :openクエリでロケーションを開く
T :tabopenクエリでロケーションを開く
v リンク先のソースを表示
w リンク先を新しいウインドウで開く
W :winopenクエリでリンク先を開く
y リンク先のURIをヤンクする
Y テキスト記述をヤンクする
f ロケーションを現在のタブで開く
F ロケーションを新しいタブで開く
拡張ヒントモードで利用可能な文字

 本稿ではVimperatorの基本的な操作について紹介したが、ブックマークの扱い方や文字列検索、そして:setなどを利用したVimperatorのカスタマイズなどの紹介は次回に回したいと思う。それまでに、まずは基本操作である今回の内容に興味を持ってもらえれば幸いである。

 もしあなたがブラウジング体験の効率化にさほど関心がなければ、Webブラウザ側で設定しているキーバインドと異なるキーバインドに混乱するだけかもしれない。それどころか、Vimperatorをまったく役に立たない拡張機能と判断してしまうかもしれない。しかし、片時もキーボードから手を離したくないような筋金入りのキーボード派、さらにVimの常用者たちにとっては、Vimperatorはまるでブラウザが自分の手足のように動く錯覚を覚えることだろう。これからVimperatorを触ってみようという方にとって、Vimperatorを使いこなすには新たなコマンドを覚えなければならないという欠点はあるが、キーボードを触ったことのない方がブラインドタッチができるようになるまでの苦労と比べれば、ごく短時間でマスターできるはずだし、Vimperatorで覚えた操作はviへも応用できる。

あなたのブラウザをモダンなものへと進化させるアイデアが満載の「Firefox Hacks」をご活用ください。


Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ