Pages

2005-10-01

sdic の統計情報をとる |Emacs|

GNU Emacs には、 sdic というシンプルでスマートな英和・和英辞書ツールがある。英和辞書はウェブ上にも転がってるけど、 GNU Emacs から使える所が魅力。特に、 MewEmacs-w3m で英文を読む時に Emacs から離れずに辞書が索けるので重宝してる。

この sdic で調べた単語を、下記のフォーマットで統計データのように保存するコードを書いた。

characteristic of ~, be 1                       2005-05-09
arbitrary               2                       2005-06-05
successor               1                       2005-06-28
fluctuate               3                       2005-07-02
pending                 1                       2005-07-11
amend                   1                       2005-07-24

sdic-stat.el

ダウンロードした sdic-stat.el を load-path 下に置き、.emacs に次の設定を加える。

;;
;; sdic-stat.el
;;
(autoload 'sdic-stat-ci-word "sdic-stat" "Save word statistics in sdic" t)
(defadvice sdic-display-buffer (after sdic-auto-stat activate)
  "Record word statistics automatically."
  (sdic-stat-ci-word))

後は sdic で英単語を調べるだけ。調べた単語が自動的にファイルに保存されていく。

データの保存先は ~/.sdic-stat.txt。保存先を変えたければ、次のようにする。

(setq sdic-stat-file "your/favorite/path.txt")

sdic-stat のタブ

sdic-stat では、英単語と単語の検索回数の間に TAB が一つ入る。ただ、それだと Emacs でファイルを開いた時に、ガタガタに表示されてしまう (ことがある)。例えば、こんな感じ...

characteristic of ~, be 1       2005-05-09
arbitrary       2       2005-06-05
successor 1 2005-06-28
fluctuate 3 2005-07-02
pending 1 2005-07-11
amend 1 2005-07-24

これは、いかにも見苦しい。僕は、 .sdic-stat.txt の末尾に次の四行を加えてる。

^L
Local Variables:
tab-width: 24
End:

こうすると、最初の例で見たようになる。ちなみに、 ^L は一文字の制御文字で C-q C-l で入力する。

sdic-stat を使って

これでデータは取れた。後は、好きなようにファイルを加工すればいい。

例えば、よく sdic で索く単語が知りたければ

$ sort -k 2 ~/.sdic-stat.txt
caveat  2       2005-07-09
relevant        3       2005-03-23
drawback        3       2005-04-17
intermittent    3       2005-06-27

という感じ。

1 comment:

  1. sdic-stat.elを使ってみようと思いましたが、リンクが切れていました。

    ReplyDelete