SafariからFirefoxに乗り変えて、vimperatorを使うことにした

hhkで操作を完結させようと思うと、キーボードショートカットによるリンクの選択→移動が必要不可欠です。SafariでもTabで移動できるけど、遠いリンクだとあまりにも絶望的。というわけでVimMで紹介されたりとかid:wakutekaとかがお気に入りのvimperatorが使えるFirefoxに乗り換えることにしてみました。

肝心のリンク選択は「f」、「F」、「;」でできるようです。現在のタブで開くかどうかとかそれなりに違いはあるようです。[あとで調べる]。あとリンクが数字のままだと選択しづらいというか、やっている意味がないのでchar-hints-mod.jsというのを入れてアルファベット入力で選択できるようにしました。

初めてemacsを触った時.emacsが何者か分からなかったのと同様に、.vimperatorrcの置き場所とかそういうのから分かっらなかったけど、twitterとかで教えてもらったら動くようになった。ありがとうございます。構成は

$HOME/.vimperatorrc
$HOME/.vimperator/plugin

という感じにやればよいらしい。winとmacとかで違いがあるのに注意が必要。

gmailとかldrのキーバインドとかぶったりするとあれなので、それを回避するのもある。feedSomeKeys.jsというのがそれ。.vimperatorrcに下記を追加。

autocmd LocationChange .* :fmapc

" Gmail
js <<EOF
autocommands.add('LocationChange',/mail\.google\.com\/(mail|a)\//,[
  'js plugins.feedKey.setup(',
    '"c / y j k n p o u e x s r a # [ ] z ? gi gs gt gd ga gc".split(/ +/).map(function(i) [i, "4" + i])',
      ');'
      ].join(''));
EOF

" livedoorReader
" ldrのレートを++/--できるようにするgreasemonkeyスクリプト(http://d.hatena.ne.jp/kusigahama/20071107#1194447701)用に q,w もスルー対象に指定している
js <<EOF
autocommands.add('LocationChange',/reader\.livedoor\.com\/reader\//,
  'js plugins.feedKey.setup("j k s ? r a p v c <Space> <S-Space> z Z < > q w b i".split(/ +/));');
EOF
autocmd LocationChange http://reader\.livedoor\.com/reader/ :fmap o vj
autocmd LocationChange http://reader\.livedoor\.com/reader/ :fmap J <Space>
autocmd LocationChange http://reader\.livedoor\.com/reader/ :fmap K <S-Space>

あとはちょっとした設定を書いたりした。

map j <Space>
map k <S-Space>
map h <A-Left>
map l <A-Right>
map H gT
map L gt
map <Left>  gT
map <Right> gt