南極の図書館

ペンギンが寝ていた…。

Firefox5でVimperator3.2+LDRizeを動かす

プログラマのブラウザといえば、Vimperatorだろう。
などと本気で言うと、戦争が起きかねないので言わない。


でも、vim使いのブラウザといえばVimperatorだろう。
これくらいの意見は許されると思うので、言っておきたい。


本記事の主な対象は「Vimperatorを使ってるけど、Firefox5で動くのか不安だ」という人になる。
本当は「Vimperatorを使ってないVim使い」にも是非導入して欲しいのだが、本記事には「Vimperator初心者向け情報」は書いていない。
なぜなら「Vimperator初心者向け情報」というのは既にWeb上に十分な量があるし、本エントリの余白はそれを書くには狭すぎる。
他のサイトでVimperatorやLDRizeについての情報を確認し、その後に本手順で導入して欲しいと願う。

目次と前提

・Vimperatorを動かす
LDRizeを動かす
・その他自分用メモ
・参考サイト


さて、下準備としてFirefox5をダウンロード、インストールしよう。
ここからはFirefox5をクリーンインストールしたと過程して記載するが、Firefox4からバージョンアップをした場合も記載内容を反映させれば問題無い。
本記事はクリーンインストールと、バージョンアップと、両方で動作確認を行っている。(2011/7/13時点)

Vimperatorを動かす

「ツール」「アドオン」「アドオン入手」からVimperatorと検索して入手する。(現時点では3.2)
次に、Vimperatorのプラグインを入手し配置する。
プラグインは以下を参照のこと。内容の説明とファイルへのリンクがある。
Vimperator plugins on vimpr(※同日追記。記事の公開後に@anekosさんに教えていただきました。)



導入は、使用するjsファイルを~/.vimperator/plugin/の中に配置するのみ(Windowsなら~/vimperator/plugin/の中)。


今回は3種類のプラグインを使う(私は実際にこの3つのみ使っている)。


・feedSomeKeys_3.js
指定したキーイベントをvimperatorをスルーさせてwebページに送るプラグイン。
例えば、VimperatorではLDRのa,s,j,k,o,pなどがデフォルトで使えなくなるが.vimperatorrcに設定を書くことで使えるようになる(内容は後述)。


・_libly.js
feedSomeKeys_3などのプラグインを使うために必要。


ldrize_cooperation.js
私の設定では使っていないが、vimperator+LDRizeといえばこれを説明しないわけにはいかない。
デフォルトでj,k,o,pをLDRize側に送り、他にも様々な設定ができる。まずは入れておくべき。


上記3ファイルを配置し、feedSomeKeys_3の設定を.vimperatorrcに追記する(私は少ない方だと思うので、他のサイトを参考に必要な分だけ書くこと)。

"feedsomekeys_3
command! -nargs=+ lazy autocmd VimperatorEnter .* 
lazy fmaps -u='www\.google\.com/calendar/.*' a w m x c e <DEL>(※1) / + q s ? A W M X C E
lazy fmaps -u='mail\.google\.com/mail/.*' c / j,n k,p n,j p,k o u e x s r a # [ ] ? gi gs gt gd ga gc
lazy fmaps -u='www\.google\.co\.jp/.*' j k v p o : s ? + i
lazy fmaps -u='livedoor\.com/reader' j k s a p o v c z b < > Z   i q w G U u

(※1) 直前の「<」と「>」は半角が正しい。

これでVimperatorの導入は完了だ。

LDRizeを動かす

LDRizeは、Greasemonkeyで動くユーザースクリプトなので、Greasemonkeyから入れる。
「ツール」「アドオン」「アドオン入手」からGreasemonkeyと検索して入手する。(現時点では0.9.6)


今回は2種類のユーザースクリプトを使う(私が使っているのは全部で5つ。次項参照)。


・LDRize
「ツール」「アドオン」「ユーザースクリプト」から「スクリプトの入手」をクリックし、遷移先で右上の「Scripts」をクリックする。
Scripts - Userscripts.org
基本的にはGreasemonkeyスクリプトは同じ手順で入手する(後述のMinibufferは例外)。


私は、LDRizeは検索時のみ使いたいので「アドオン」「ユーザスクリプト」でLDRizeを右クリックし「編集」として下記のように修正する。

 -  // @include        http://*
 -  // @include        https://*
 -  // @include        file:///*
 +  // @include        http://www.google.co.jp/*


・Minibuffer
LDRizeを使うために入れる。
for firefox4 via http://d.hatena.ne.jp/wlt/20110106/1294306315 — Gist
ダウンロードしたminibuffer.user.jsをブラウザにドラッグアンドドロップすると導入できる。
導入後の注意点として、スクリプトの実行順序は「LDRizeよりも先にMinibufferを実行する」こと。
「アドオン」「ユーザスクリプト」でMinibufferを右クリックし「最初に実行」とする。


次に.vimperatorrcに以下を追記する。

"プラグイン設定
" Greasemonkey 0.9.xでwindowを共通にする
javascript <

これでFirefoxを再起動すると、全て動作する。

その他自分用メモ

上記以外で使っているアドオンなど。


・アドオン
ツリー型タブ0.12.2011061701
HatenaBookmark2.1.4
はてなツールバー1.0.1
ReadItLater2.1.1
AutoPagerize0.8.6
Firebug関連


・ユーザスクリプト
LDR Dedupe Entries
LDR full feed
Utilities for livedoor Reader(modified)

参考サイト

参考にさせていただいたサイトです。ありがとうございました。
Firefox 4.0b10でGreasemonkey 0.9.1のユーザスクリプトのwindowを共通にする改造(開発者orVimper向け) - wltの日記
feedSomeKeys_3.js をリリース - Death to false Web browser! - vimperatorグループ


「しっかりVimp」もやらなければ、と思いつつ、jsの厚い壁に阻まれて全く目処が立ちません。
Vimperatorは2年くらい使っていますが、恥ずかしながらまだまだ「入門レベル」のままです。