vim-refのwebdictで英和・和英辞書を参照する

2012年7月27日

Vim

今年の5月頃、vim-refのalc用のソースが削除され、新しくwebdictというソースが追加されました。追加されたwebdictを使用して、辞書サイトから英和、和英辞書を参照する方法を試してみました。

webdictは、.vimrcで設定されたサイトにテキストブラウザからアクセスし、結果をVimのバッファに出力するソースです。英和、和英辞書だけでなく、国語辞書や百科事典を参照する用途にも使用できます。

vim-ref-webdict

動作確認環境

  • Vim 7.3
  • vim-ref 0.4.3

目次

  1. vim-refの環境を整える
  2. .vimrc
  3. webdictの使い方

vim-refの環境を整える

テキストブラウザをインストールし、環境に合わせて設定を済ませておきます。導入にあたり、下記の記事を参考にどうぞ。

Vim
vim-refを導入する [2012年版]

1年前にvim-refの導入記事を書きましたが、情報が古くなってきたので、最新のvim-ref環境について整理します。 ...

続きを見る

.vimrc

.vimrcです。Infoseekマルチ辞書を参照する場合の例です。wikipediaを参照する設定もおまけで載せました。

"webdictサイトの設定
let g:ref_source_webdict_sites = {
\   'je': {
\     'url': 'http://dictionary.infoseek.ne.jp/jeword/%s',
\   },
\   'ej': {
\     'url': 'http://dictionary.infoseek.ne.jp/ejword/%s',
\   },
\   'wiki': {
\     'url': 'http://ja.wikipedia.org/wiki/%s',
\   },
\ }
"デフォルトサイト
let g:ref_source_webdict_sites.default = 'ej'
"出力に対するフィルタ。最初の数行を削除
function! g:ref_source_webdict_sites.je.filter(output)
  return join(split(a:output, "\n")[15 :], "\n")
endfunction
function! g:ref_source_webdict_sites.ej.filter(output)
  return join(split(a:output, "\n")[15 :], "\n")
endfunction
function! g:ref_source_webdict_sites.wiki.filter(output)
  return join(split(a:output, "\n")[17 :], "\n")
endfunction
nmap <leader>rj :<c-u>Ref webdict je<space>
nmap <leader>re :<c-u>Ref webdict ej<space>

webdictの使い方

.vimrcを前述の通り設定している場合、以下のコマンドでwebdictを利用することができます。

英和辞書を検索するコマンド例

:Ref webdict ej dictionary

和英辞書を検索するコマンド例

:Ref webdict je 辞書

webdictを呼び出すコマンドの書式は下記の通りです。少々長いので、キーにマップして呼び出すことが多いです。

:Ref webdict {site-name} {keyword}

サイトのデフォルトを英和辞書に設定しているため、サイト名を省略した場合は英和辞書が呼び出されます。

:Ref webdict {keyword}

終わりに

辞書サイトは他にもありますので、好みのサイトを設定して使用すると良いです。サイトによっては利用規約違反となる可能性もありますのでご注意ください。

-技術ブログ
-