物置き

Vimで英辞郎の辞書を引くスクリプトを書いた

FirefoxMouseoverDictionaryみたいな感じのが欲しくて作った。
カーソル位置の単語を別ウインドウに表示し、カーソルを移動したらそれにあわせて表示を更新する、というもの。


しかし、ある程度形になったきた段階で、Kaoriya版に英和辞書を引くためのスクリプト(dicwin.vim)が含まれてるのを知ってがっくり。デフォでついてくるならそれでいいじゃないか、と。
あまり意味ないかなとも思ったけど、まあせっかく途中まで作ったので、きりのいいところまで作り込んでみた。

このスクリプトの特徴としては、

  • カーソル位置の単語を自動で表示してくれるので楽
  • ビジュアルモードで選択した単語・語句も調べられる
  • Porterアルゴリズムによるステミング処理で、単語の取りこぼしを多少軽減
  • 英辞郎の辞書データを使うので語彙が豊富
  • 意外に軽い(環境にもよるだろうけど..)
  • 自分のつくったものなので、挙動が自分の好み

こんな感じですかね。
ちなみに英和検索だけで、和英検索の機能はありません。現在は外部検索機能を使うことで和英検索もできるようになっています。

動作画面


環境

  • Vim7以降
  • Python組み込みオプション
  • Pythonのsqlite3またはsqliteライブラリ
  • 英辞郎(というかPDIC一行形式の)辞書データファイル

使い方

基本的にはMouseoverDictionaryと同じような使い方で、
最初にPDIC一行形式の辞書ファイルを登録して、以後はデータベースから検索をおこなう、という感じ。

辞書の登録

1. PDIC一行形式の辞書ファイルを用意する
2. CODRegistDictコマンドで辞書ファイルを登録する

辞書の登録はちょっと時間がかかる。
自分の環境(Let'sNote W5)では2分くらいかかった。
あと、データベースを作成するためのHDD空き領域が170MBほど必要(英辞郎第3版の場合)

検索結果を表示するウインドウの表示

CODOpenコマンドでウインドウを表示し、CODCloseコマンドでウインドウを閉じる。
CODToggleコマンドで表示/非表示を切り替え。

ビジュアルモードで選択した単語・語句を検索

選択してから、CODSelectedコマンドを実行

コマンドライン上で単語を入力して検索

CODSearchコマンドを実行

ドキュメント

ヘルプファイルを作ったので、そちらを参照してちょんまげ。

ダウンロード

cursoroverdictionary

Windows上でのKaoriya版(Python2.5.2)と、CentOS4上のVim7.1(Python2.3.4+sqlite)でのみ確認。
Pythonのバージョンやsqliteモジュールの組み合わせ等によっては動かない環境もあるかもしれません。


(2009-03-12 追記)
Vim7.2+Python2.6をつかった環境でうごかなかったので修正