Vimperatorを使ってみる。

FireFoxVimキーバインドで操作できるアドオン。
https://addons.mozilla.org/ja/firefox/addon/4891からインストールする。

基本コマンド

Vimperatorには、NomalモードとCommand-lineモードがある。
FireFoxの起動時はNomalモードになっていて、":"とコマンドするとCommand-lineモードに切り替わりコマンドの入力が出来るようになる。EscまたはCtrl-cでNomalモードに戻る。
以下は基本的なコマンドのデフォルトのキーバインディング。(":"から始まるのはCommand-lineモード)

コマンド動作
jページを下にスクロールする。
kページを上にスクロールする。
hページを左にスクロールする。
lページを右にスクロールする。
Ctrl-fページを1画面下にスクロールする。
Ctrl-bページを1画面上にスクロールする。
ggページのトップへ移動する。
Gページのボトムへ移動する。
[n]gin番目の入力フィールドをフォーカスする。
]f次のフレームをフォーカスする。
[f前のフレームをフォーカスする。
Ctrl-i または Lブラウザの「進む」
Ctrl-o または Hブラウザの「戻る」
ghホームページにジャンプする。
r現在のページをリロードする。
:set go=[m|T|B]メニューバー(m)、ツールバー(T)、ブックマーク(B)を表示する。
:set go=各種バーを隠す。
o [URL|文字列]URLを指定した場合はURLを開く。
文字列を指定した場合はデフォルトの検索エンジンでその文字列を検索
t [URL|文字列]oコマンドの操作を新しいTabを作成して行う。
Ctrl-n または gt次のTabに移動する。
Ctrl-p または gT前のTabに移動する。
:qTabを閉じる。
:qaTabを全て閉じてFireFoxを終了する。
:wqウィンドウを閉じてFireFoxを終了する。
:qaとは違い、現在のセッションを保存する。
/ {キーワード}インクリメンタル検索をする。Enterを押すと検索結果をハイライト。
:bma [-t title] [-T tag]現在のページをブックマークに追加する。
:bmarksブックマークの一覧を表示する。
:history履歴の一覧を表示する。
:helpヘルプページを参照する。

設定ファイル

コマンドや振る舞いをカスタマイズできる設定ファイルを作成することが出来る。
~/.vimperatorrcというファイルを直接作ってもよいが、以下の設定ファイル作成用のコマンドが用意されているのでこれを使う。


:mkvimperatorrc
と打つと雛形の設定が記述された.vimperatorrcが作成される。
以下は設定ファイルの例。

" スクロールを5行単位にする
map j 5
map k 5
" hとlでTab間を移動する
map h gT
map l gt
" 入力フォームにフォーカスしない
set focuscontent
" メニューバー(m)とツールバー(T)を表示する
set guioptions=mT

リンク

ページ内のリンクをクリックしてリンク先へ飛ぶという操作もキーボードで行うことが出来る。
nomalモードでfとコマンドすると、ページ内のリンク全てに数字が付加されるので、その数字を入力することでリンク先に飛ぶ。
リンクのアンカーテキストに含まれる文字列を入力することでインクリメンタルにリンクを絞ることも出来る。
また、fの代わりに大文字のFとコマンドすると、リンク先のページを新たなTabで開く。

外部エディタの利用

テキストエリアがフォーカスされた状態でCtrl-iと入力すると外部エディタが起動する。
デフォルトではgvimが設定されているが、調べてみるとどうも日本語がおかしくなるらしい。
設定ファイルに以下を記述するとemacsを起動させることが出来る。


set editor=emacs

プラグインを入れる

Vimperatorの機能を一通り使ってみて唯一不満だったのが、ページ内の入力フォームに上手くフォーカスできないことだった。
[n]giコマンドでフォーカス出来るのだが、入力フォームがたくさんある時などはわざわざ何番目と数えるのは面倒くさい。
Tabで移動するとリンクやボタンなどもフォーカスしてしまう。
walk-input.jsというプラグインを入れると、M-iコマンドで入力フォームだけを順番にフォーカスすることが出来るようになる。
(Vimperatorのプラグイン http://coderepos.org/share/browser/lang/javascript/vimperator-plugins/
Vimperatorのプラグインとはjavascriptファイルであり、FireFox起動直後にjavascriptを実行してキーバインドなどの設定を行っている。
以下はwalk-input.jsのインストール手順。


$ cd ~/.vimperator
$ mkdir plugin
$ cd pulugin
$ wget http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk/walk-input.js
あとはFireFoxを再起動すれば使えるようになる。