2008-01-27
■[vim][firefox]firefoxをvimのキーバインドで操作する「vimperator」を入れる
firefoxをvimのキーバインドで軽快に(変態的に)操作できるという、「vimperator」を使ってみました。
こちらから。
- mozdev.org - vimperator
この時の最新は、version5.3でした。
いれてから、firefoxを再起動すると、ガラッと画面が変わります。
ここでビックリする場合は、とりあえず、「:set guioptions=mTb」と入力。
これでステータスラインなどが表示されるようになります。
設定ファイルを書く
上記の「:set guioptions=mTb」などはいちいちやってられないので、設定ファイルを書きます。
設定ファイルの名前は「_vimperatorrc」、場所は環境変数「$HOME」の場所。
※そのあたりは、環境設定ファイル vimperatorrc の詳しい手順 - k0yの日記さんのエントリが詳しいです。
自分の$HOMEはもともと「C:\Users\kasahi」だったので(windowsのとき)、
ここに、「_vimperatorrc」っていうファイルを置きました。
_vimperatorrcファイル内に、以下を書きます。(これは参考までに)
" メニューバー、ツールバーなどを表示
set guioptions=mT
" beepのかわりに、visualbellをつかう。
set visualbell
" 選択文字列ののコピーを <C-c> に割り当て
map <C-c> Y
" j/k でのスクロール幅を 1行 から 3行 に変更
map j 3<C-e>
map k 3<C-y>
" Backspace に戻るを割り当て
map <BS> <A-Left>
" h/l に戻るや進むを割り当て
map h <A-Left>
map l <A-Right>
" 検索結果をハイライト
set hlsearch
" フィードボタンをステータスラインに表示
:javascript <<EOF
(function(){
var feedPanel = document.createElement('statusbarpanel');
var feedButton = document.getElementById('feed-button');
feedPanel.setAttribute('id','feed-panel-clone');
feedPanel.appendChild(feedButton.cloneNode(true));
feedButton.parentNode.removeChild(feedButton);
document.getElementById('status-bar').insertBefore(feedPanel,document.getElementById('security-button'));
})();
EOF
デフォルトの設定だと、j,kでの移動が1行で、多少もどかしかったり、RSSアイコンが非表示になっていたり、Ctrl+cでコピーができなかったりするので、そのあたりを設定でカスタマイズしてます。
設定を保存したら、「:restart」でfirefoxを再起動
操作してみる。
あとは、とりあえず、
- j,kで移動
- ctrl + f、ctrl + bでスクロール
- fでクイックリンク。表示される各ラベルを文字で指定して開く。
- ctrl + n(gtも可)とctrl + p(gTも可)でタブ移動
- :tで新規タブオープン(ctrl+tも可)、:qでタブクローズ(ctrl+w)も可
などなどを試してみれば、vimperatorのすごさが実感できそうです。
その他情報
Open Tech Pressの
の記事に、vimperatorについてわかりやすくまとめられているので、ここを読むのがよさげです。
ただ、vimperatorはバージョンによって結構変わっているらしく、(この記事のバージョンは0.4.1)そのあたりは自分でうまく読み替かえるのがはやそうです。
さらに詳しい設定やコマンドなどは、
のhelpを見るのがよさげ。
これらは、「:help」でも見ることができます。
あと、かなり参考になるのが、id:teramakoさんのページです。
vimperatorに関する色んな有用な情報・スクリプト・設定が載っています。(RSSフィードの設定などは参考にさせていただきました)
keyword=vimperatorで絞り込むとよいと思います。
参考


