Firefoxをキーボードだけで操作するVimFxが想像以上に快適だった件

普段からVimを使ってプログラムを作っているので、何度か、Webブラウザにも、Vim風アドオンを導入したことがあったのですが、そんなに便利に思えず、これまで利用していませんでした。しかし、今回、Firefox+VimFxの組み合わせは、かなり気に入りました。Vimを使ったことない人にも紹介したいと思ったので、Vim未体験者向けに丁寧に解説を書いてみました。

# Firefox+VimFxをインストール

最初にインストール先のURLから紹介します。

## 快適になったFirefox

e10s(Firefoxのマルチプロセス機能)が有効になり、最近のFirefoxはかなり快適です。

- [Firefoxのダウンロード](https://www.mozilla.org/ja/firefox/new/#download-fx)

## VimFxプラグイン

Vim風にブラウジングするためのアドオンです。

- [VimFxダウンロード](https://addons.mozilla.org/firefox/addon/vimfx)
- [VimFxのGitHub](https://github.com/akhodakivskiy/VimFx)

# VimFxアドオンの使い方

VimFxをインストールすると有効になります。

無効にするには、URLが表示されるアドレスバーに「about:addons」と入力します。そして、拡張機能から、VimFxを選んで無効のボタンを押します。

## 基本的な操作 - まずは、<kbd>j</kbd>,<kbd>k</kbd>,<kbd>f</kbd> だけ覚えよう

ページの上下をスクロールするのは、<kbd>j</kbd>(下へ)、<kbd>k</kbd>(上へ)です。

そして、<kbd>f</kbd> でリンクを表示します。リンクは、次の画面のように、表示されます。

![link-image.png](https://qiita-image-store.s3.amazonaws.com/0/33180/fbec9cbf-31fc-1d54-8afd-83d2de4493f6.png)

上記の画像で分かるように、リンクがある部分にアルファベットが表示されます。そのため、そのアルファベットをタイプすると、リンクが開かれます。アルファベットは大文字で表示されますが、<kbd>Shift</kbd>キーを押す必要はありません。

例えば、<kbd>f</kbd>キーを押してリンクを表示し上記画面のように表示されたとします。続けて、画面上部にある「著書の一覧」ページへ飛びたい時は、<kbd>n</kbd>キーを押します。それで、<kbd>GF</kbd>などと二文字の場合も、<kbd>g</kbd>と<kbd>f</kbd>のキーをタイプすれば、そのページへ飛びます。

ちなみに、なぜ、<kbd>j</kbd>/<kbd>k</kbd>と<kbd>f</kbd>なのか・・・それは、<kbd>j</kbd>キーが右手のホームポジションの人差し指の下にあり、<kbd>f</kbd>キーが左手のホームポジションにあるからです。そして、<kbd>k</kbd>キーは<kbd>j</kbd>の横です。筆者のMacbookにも、右手の<kbd>j</kbd>キーと左手の<kbd>f</kbd>キーには小さな突起があり、キーボードを見なくても、場所が分かるようになっています。うまく考えられています。

## ステップアップ - <kbd>Shift</kbd>と組み合わよう

先ほど、<kbd>j</kbd>,<kbd>k</kbd>,<kbd>f</kbd>のキーを覚えました。次に覚えるべきは、<kbd>Shift</kbd>キーとの組み合わせです。

<kbd>Shift</kbd>キーと<kbd>j</kbd>,<kbd>k</kbd>を組み合わせるとタブの移動になります。<kbd>j</kbd>,<kbd>k</kbd>でページスクロール、<kbd>Shift</kbd>キーと<kbd>j</kbd>,<kbd>k</kbd>でタブ移動ですから、分かりやすいですね。

そして、<kbd>Shift</kbd>キーと<kbd>f</kbd>でも、先ほどと同じように画面にリンクが開かれますが、こちらは、新規タブでリンクを開きます。<kbd>Shift</kbd>なし<kbd>f</kbd>で、現在のタブで開き、<kbd>Shift+f</kbd>で新規タブです。

| キー | キーの説明 | 動作 |
|:----|:----------|:-----|
| <kbd>\<s-j></kbd> | <kbd>Shift + j</kbd> | 左のタブへ移動 |
| <kbd>\<s-k></kbd> | <kbd>Shift + k</kbd> | 右のタブへ移動 |
| <kbd>\<s-f></kbd> | <kbd>Shift + f</kbd> | 新規タブでリンクを開く |

## ページ内検索 - <kbd>/</kbd>

そして、Vimと同じように、<kbd>/</kbd>キーでページ内検索できます。そして、<kbd>ESC</kbd>キーで検索をオフにします。

ちなみに、このとき、XUL/Migemoアドオンを利用すると、漢字変換不要で、ローマ字から日本語を検索できます。

- [XUL/Migemoアドオンのダウンロード](https://addons.mozilla.org/ja/firefox/addon/xulmigemo/)

ただし、デフォルト設定では、特定のショートカットキーでMigemoが有効な検索バーが開くようになっているため、<kbd>/</kbd>でも検索できるようにするには、辞書をインストールした後、再起動し、アドオンの設定で、検索モードのタブから、ページ内検索をMigemoに変更する必要があります。

![migemo-enable.png](https://qiita-image-store.s3.amazonaws.com/0/33180/5a1ccc88-f01d-fe2f-367e-f13aef61c3a8.png)


## コマンドを使う

また、こちらもVimと同じように<kbd>:</kbd>キーでコマンド入力のバーを開くことができます。

試しに、スクリーンショットを取るには、<kbd>:</kbd>キーを押して、コマンドバーが出たら、以下のように入力します。(>>は入力不要)

```
>> screenshot
```

すると、ダウンロードフォルダに、スクリーンショットが保存されます。もし、ページ全体のスクリーンショットを取るには、次のようにします。

```
>> screenshot --fullpage
```

このコマンドバー、至れり尽くせりで、scrまでタイプして<kbd>Tab</kbd>キーを押すと、コマンドを補完してくれます。また、コマンドに続けてハイフン<kbd>-</kbd>キーを押すと、指定可能なオプションの一覧とオプションの使い方のツールチップが出ます。

![tip.png](https://qiita-image-store.s3.amazonaws.com/0/33180/cbc6ce0f-678d-ea24-6d9a-d0aace825c9c.png)

また、helpとタイプすると、利用できるコマンドの一覧が出ます。



# 参考

他にも、カスタムコマンドを登録するなど、便利な機能がたくさんあります。以下の記事がとても参考になります。

- [Qiita - Goodbye Vimperator, Hello VimFx + e10s](http://qiita.com/yosisa/items/3a1b736f866661901c58)

もちろん、VimFxのサイトには、より詳しい使い方が載せられています。

- [GitHub - VimFx](https://github.com/akhodakivskiy/VimFx)