Spica*

プログラミングの話。

VimFxを導入した

Vimperatorがe10sにまだ対応しなくて、Firefox重くてつらくてChromeに移行したけど、

Vimium設定が微妙にかゆいところ届かなくて困ってて、

Yet another like vimなブラウザ操作の何かを探してたところ、VimFxと出会った。

はてなブックマークアドオンもe10sまだ対応していない(よね?)ので、とりあえずその辺のconfigいじれるかやってみたらできたので、ブログ書いておくなど。

VimFxについて

VimFxのすばらしい解説があったのでこちら必読。

tonkuma.hatenablog.com

コンフィグの有効化

ここに基本的な流れが書いてあるけど、少し悩んだのでブログ書いておく。

環境はMac OS X (Yosemite)。

github.com

  1. ~/.config/vimfxディレクトリを作る。
  2. ~/.config/vimfx/config.js, ~/.config/vimfx/frame.js という二つのからファイルを作る。
  3. about:config 画面を開き、 extensions.VimFx.config_file_directory の項目を探す
  4. この項目の値を ~/.config/vimfx とする
  5. 変更したら about:config は閉じておk
  6. 適当なタブでキーバインド gC を実行する(g を押した後続けて C を押す)。
  7. すると、右下に「設定ファイルの再読み込みに成功しました」と出る。
  8. ~/.config/vimfx/config.js に下記のプログラムを入力する。入力できたら再度 gC で再読み込みして、 ccはてブURL開く。
vimfx.addCommand({
  name: 'open_hatena_bookmark_entry',
  description: 'Open Hatena Bookmark Entry',
}, ({vim}) => {
  let location = new vim.window.URL(vim.browser.currentURI.spec)
  vim.window.gBrowser.loadURI(`http://b.hatena.ne.jp/entry/${encodeURIComponent(location.href)}`)
})

let map = (shortcuts, command, custom=false) => {
  vimfx.set(`${custom ? 'custom.' : ''}mode.normal.${command}`, shortcuts)
}

map('cc', 'open_hatena_bookmark_entry', true)

VimFx良い!

思うところ

とりあえず、VimFxのおかげでまたFirefoxユーザに戻れそうで嬉しい。

Vimperatorがダメになったんではないんですよ。僕がタブ開きまくる使い方してるせいだったり、Webの仕組みが複雑化しすぎて、シングルプロセスだと回らなくなったのが原因なんですよ!VimpVimpで、消費メモリ少ないとかシングルプロセスで動くモノだから良いところもあって、批判するつもりなんかさらさらなくて感謝の念しか無い。ただ、時代が変わりすぎて則せなくなっただけなんですよね…?

E4Xが死んだあたりで、もうVimp的にもVimp-plugins的にもつらたんなのにe10s対応ですもんね…。まだ見てないですけど今はWebExtensions推しなんでしたっけ。アドオンは古くなっても自分は古くなりとうないですね。