ref.vim に webdict と言うソースを追加した。取り急ぎ版。
これは設定した Web サイト(主に辞書サイトを想定)を扱うソース。
例えば以下のように設定する。
let g:ref_source_webdict_sites = { \ 'wikipedia:ja': 'http://ja.wikipedia.org/wiki/%s', \ }
これで以下のように使用できる。
:Ref webdict wikipedia:ja Vim
やっていることは、指定サイトをテキストブラウザで表示した結果をそのまま出しているだけだ。
辞書を使うともう少し細かく設定できる。
let g:ref_source_webdict_sites = { \ 'wiktionary': { \ 'url': 'http://ja.wiktionary.org/wiki/%s', \ 'keyword_encoding': 'utf-8', \ 'cache': 1, \ } \ } " 出力に対するフィルタ。最初の数行を削除している。 function! g:ref_source_webdict_sites.wikitionary.filter(output) return join(split(a:output, "\n")[18 :], "\n") endfunction
デフォルトを指定すると、キーワードがサイト名の1つと衝突していない限り、サイト名を省略できる。
let g:ref_source_webdict_sites.default = 'wikipedia:ja'
:Ref webdict Vim
詳しいところは help 見てください。
あまりテストできてないので、設定方法とか設定項目とかも含めておかしな点があったら教えてもらえると助かります。
ref.vim は書いてからだいぶ経ったのもあって、設計的にまずい部分とかもあって、今回の webdict は内部で結構アレなことをやっちゃってる。時間が取れたら再設計したいと考えてはいるのだけど、なかなか難しいね。
あと、今は初期設定は空なんですが可能であれば徐々に追加してこうかと思うので、もしいい感じのがあったら教えてくださると嬉しいです。pull request でも gist なんかに貼ってでもなんでもいいです。
最後に、Web サイトによっては規約違反になる場合もあるとの噂なので、使用は自己責任でお願いします。