vimperatorrc

カスタマイズ能力の高いソフトウェアにおける設定ファイルの公開、なんてことをやる。あーでも諸事情により 6/1 時点のモノを晒すので実は vimperator 1.1 pre 用だったりする ( set complete の S 指定とか hintmatching とか newtab とかがそう ) 。あー、以下の syntax highlight は vim にしてます。

" 0.6pre (created: 2008/05/03 07:30:09)

" Basics ------------------------------------------------------------------
" タイトルバーのブラウザ表示名を変更
set titlestring=Firefox with Vimperator

" 検索キーワードのハイライト
set hlsearch

" デフォルト検索エンジンは google
set defsearch=google

" :[tab]open での補完順位をブックマーク・検索エンジンの suggest ・履歴の順にする
set complete=bSh

" 新しいタブを開いてもフォーカスしない
set activate=

" ]] に反応するキーワードに"次"を追加
set nextpattern+=次
" [[ に反応するキーワードに"前"を追加
set previouspattern+=前

" Ctrl + d / u でスクロールする幅を 3 行分に変更
set scroll=3

" ヒントモードの絞込みは前方一致
set hintmatching=wordstartswith

" 以下のコマンド結果を新しいタブで開く
" addons + downloads + help + javascript + prefs
set newtab=all


" Mappings ----------------------------------------------------------------
" Ctrl + h / l で左右のタブにフォーカス
map <C-h> gT
map <C-l> gt

" Ctrl + Shift + h / l でタブを左右に移動
map <C-H> :tabmove! -1<CR>
map <C-L> :tabmove! +1<CR>

" a で del.icio.us へ post
" plugin : direct_bookmark.js
map a :sbm [

" デフォルト動作の A で bookmark toggle を解除
map A <Nop>

" c で title 要素コピー
" plugin : copy.js
map c :copy %TITLE%<CR>

" Plugins -----------------------------------------------------------------
" 使用する Social Bookmark を del.icio.us とはてなブックマークに設定
let g:direct_sbm_use_services_by_post='dh'
let g:direct_sbm_use_services_by_tag='dh'


" vim: ft=vimperator sw=2 sts=2

まず :set complete=bSh がポイント。よく使うページをローカルブックマークしておくことで :tabopen 時における補完順位を上げる。こうしとくと "t -> del -> " と打つだけで自分の del.icio.us ページの url が出てくるようになるのでものぐささんにオススメ。あと google suggest は検索時の省力化ってのももちろんあるんだけどそれ以上にローカルブックマークに登録されてるページと履歴に残ってるページの区別がつきやすくなるってのの方がおおきい。

そして基本的にリンクはタブで開くタイプ ( 1 url / tab ) なのでいちいち activate してもらっちゃ困るってことで :set activate= 。ついでに設定やヘルプ、プロパティページなんかも全部新しいタブで開いちまえってことで :set newtab=all ( 1.1 pre 以降 ) 。これでけっこう自分のペースで dive できるようになった。

の幅を 3 に設定してるのは LDRize + AutoPagerize してると j / k で長いエントリをスクロールできない ( 次のエントリの最初へ飛んじゃう ) からこれで代用しているという。なんか間違ってる気もするんだけど労力少なく何とかしようと思ってこんな感じに。

あとは基本的にローカルブックマークは補完順位のためのものでしかない上にブックマーク自体 del.icio.usはてブに頼っているので a / A を自分好みに map 。 a を押すと direct_bookmark.js で定義されてる :sbm オプションをタグ指定開始の合図 [ を伴って呼び出し。もともと del.icio.us しか使ってなかったんだけど手間隙変わらんのならはてブにも post しちゃれってことで ( せっかくだからの精神 ) let g:direct_sbm_use_services_by_post='dh' てしてる。 A を無効化してるのは暴発を防ぐため。ローカルブックマークする機会なんてそうそうないので :bmark オプションで済ませている。

タブのフォーカスはちょっと前まで h / l を map してたんだけど gvim でもタブが使えることを知ったのでキーバインドをあわせるために / に変更、という流れ。 / あたりのコメント説明は CAPS なんか考慮してないんだけどめんどいので見逃してください、ていうか Windows のショートカットキーの記述てこんな感じよね ?

最後に nextpattern と previouspattern なんだけどこれで本当に機能してるのかどうかわからん。けっこう有名なニュースサイトでも「次のページ」って書いてある画像にアンカーが打ち込まれてたりして [[ / ]] が働かないこと多いので 2 重にショボーンとなったりするんだけどそのうちってことで。