emacsでインターネットの辞書を引く


emacsから英和辞典や国語辞典などの辞書を引きたい。フリーの辞書コンテンツではなくちゃんとした辞書が使いたい。
emacsで使える辞書ツールにはSDICLookupなどがある。しかしSDICはフリーの辞書を使うので、やはり辞書コンテンツが貧弱。LookupはEPWINGの辞書が使えるが、市販の辞書コンテンツを買うにはコストがかかる。Weblioなどのインターネット上の辞書サイトを使えば市販の辞書コンテンツが使えるが、いちいちFirefoxなどのWebブラウザでサイトを開いて調べたい語を打ち込むのは面倒なので、emacsの閉じた環境でネット上の辞書が引きたい。

dic-lookup-w3mをインストール。MELPAel-getにもある。
dic-lookup-w3mを使うにはemacs-w3mw3mが必要。emacs-w3mは、サイトからダウンロードできる.tar.gzファイルは古すぎるので、cvsでコピーするかMELPAやel-getでインストールする。
w3mのWindows用のバイナリはcygwinにパッケージがある。またはw3m for windowsでバイナリーを配布している人がいる。

init.el
(autoload 'dic-lookup-w3m "dic-lookup-w3m" "w3mで辞書を引く" t)
(setq w3m-key-binding 'info)

M-x dic-lookup-w3mで起動する。Which engine? :と聞いてくるので、補完リストから辞書を選ぶ。たとえばej-weblio
ej-weblio search:と聞いてくるので、検索したい語を入力すると辞書を引いて結果を表示する。起動する前にカーソルがあった場所の単語が自動的に挿入されているので、それでよければ単にEnterキーを入力する。

いちいちコマンドを打ち込むのは面倒なので、よく使う辞書サイトを適当なキーにバインドする。

init.el
(global-set-key "\C-cc" (lambda()(interactive)(dic-lookup-w3m "ej-weblio")))
(global-set-key "\C-cj" (lambda()(interactive)(dic-lookup-w3m "jj-weblio")))


emacs-w3mでWikipediaの記事を開き、キーバインドを設定してC-c cと入力したところ


検索結果。広告やヘッダなどが表示されない。

以下のように設定すればマウスのダブルクリックだけで辞書が引ける。

init.el
 (global-set-key
 [double-mouse-1] (lambda()(interactive) (dic-lookup-w3m "ej-weblio" 'word))))

細かな設定はREADMEを参照。