[ホーム]-> [emacs]-> [活用法]-> [english]

英語関係

Emacs で文書を編集している際に、英単語の意味が分らないとか、単語の綴りを忘れてしまったとかいうことがあります。 こういった時に便利と思われるものを紹介しておきます。 なお、辞書検索の lookup は別にしてあります。


1. edict

1.1. 何をするものか?

簡単な日本語<-->英語辞書です。 言葉の説明とか用例は載っていませんが、日本語とそれに対する英語のペアが記述されている辞書を使って、片方から他方を検索することが出来ます。

1.2. 使い方

必要なものは、辞書の本体である edict と、それを扱うための edict.elです。 例えば ftp://ftp.u-aizu.ac.jp/pub/SciEng/nihongo/ftp.cc.monash.edu.au/ あたりから edict を手に入れて、適当なディレクトリに置きます。また、 edict.elload-path に置き、 バイトコンパイルしておきます。

その後、.emacs.el

(autoload 'edict-search-english "edict"
          "Search for a translation of an English word")
(autoload 'edict-search-kanji "edict"
          "Search for a translation of a Kanji sequence")
(global-set-key "\e*" 'edict-search-english)
(global-set-key "\e_" 'edict-search-kanji)
(setq *edict-files*
      '("/usr/local/share/emacs/site-lisp/edict"))

と書いておけば OK. ただし、 *edict-files* の値は edict のファイルの場所 を指定して下さい。 これで次回から英単語の上で ESC-* とタイプするか、また日本語の単語をリージョンで囲んで ESC-_ とタイプすれば、 それらの言葉を含んだ辞書の行が表示されます。

辞書を追加するには、

(setq *edict-files*
      '("/usr/local/share/emacs/site-lisp/edict" "~/lib/mydic"))

のように複数の辞書を指定するだけで OK です。 辞書の形式は簡単なので、自分で追加して利用することもできます。 (便利そうな辞書が出来たら教えて下さい。)


2. ispell

2.1. 何をするものか?

UNIX には ispell という多言語対応の有名なスペルチェッカがあって、TeX での命令語を無視してスペルチェックしてくれるので便利です。 以前は GNU が配布しているものと、そうでないものの二通りあって、GNU の配布ではなかった方がお薦めでした。 (GNU の方が version が新しかったりして混乱した時期もあった。)

ところが、最近の GNU の配布には、お薦めの ispell-3.1 の方が含まれているようです。こうなった経緯は現在の ispell-3.1 の中の Contributors というファイルに書かれてます。何はともあれ、誤解や混同がなくなって喜ばしい限り。

ただし、(もはや net からは消えつつある) ispell-4.0 の中には正規表現が使える look が含まれていて、これはこれで便利なような気がするので、そういうのを使いたい場合は、ispell-4.0 を見つけてきて残しとくのもいいかも。

で、これを Mule のバッファで実行するための ispell.el があります。これは ispell のパッケージ に附属しています。 (Mule にも附属してますが、多分古いために使えない。)

2.2. 使うには

ispell をインストールする必要があります。 ispell.el は、もともとの Emacs の配布の中に含まれています。

2.3. 使い方

Calcをインストールしていない状態なら多分 M-#ispell-buffer かなんかが起動すると思います。 そうでない場合は真面目に M-x ispell-buffer としてコマンドを打込みましょう。

他には、ispell-word とか ispell-region とかいうコマンドもあります。 頻繁に使う場合は、どこかのキーに割当てておくと便利。


3. look

3.1. 何をするものか?

英語で文章を書いていて、ちょっと綴りが曖昧だなという場合があります。 UNIX には look というコマンドがあり、例えばコマンドラインで

    % look dict    

と入力すると、

    dicta
    dictate
    dictatorial    
    diction
    dictionary
    dictum

のように補完出来る単語を表示してくれます。 これを利用して、Emacs のバッファで単語を補完したい場合に使えるのが、 中島幹夫さんの書かれた look.el です。

3.2. インストール

そのオリジナルを少々書き直したものが look.el です。 例によって、 load-path に置き、バイトコンパイルしておきます。

そして .emacs.el

(load "look")

などと書いておきます。

良く使う場合は

(global-set-key "\M-L" 'look-here)
と書いておきます。\M-L のところは好きなキーを指定して下さい。

3.3. 使い方

普通に文章を打っていて congratulate の綴を忘れた場合、cong と打ってそ の直後にカーソルがある状態で M-x look-here な いしは上で割り当てたキーをタイプします。すると、エコーラインに

    A: congenially  S: congested  D: congestion  F: congratulate    4/22    

のように表示されます。ここで f とタイプすれば congratulate と補完されるはずです。もしこの中に目的の単語が無ければ SPC を押すことで次の候補を表示、 xDEL で前候補を 表示してくれます。また、qESC で抜けられます。

3.4. 正規表現

GNU の look なら正規表現による補完も可能で、例えば misc.*ous の次で look を起動すれば、misc から始まって途中に ous を挟む単語を補完できます。 因みに、私が使っている Linux のパッケージの Slackware-3.4 では look は BSD 系のが入ってるみたいなので、GNU のに入れ変えました。

で、ちょっと試してみたところ、私の環境 (Linux + bash + Emacs 21) では call-process のところでクォートがうまく行ってないみたいで失敗するので、 look.el の 102,103 行目を

(call-process "look" nil t nil "-r" incomp)))

で置き換えています。対処療法ですが。

また `、' や `。' に続く単語を補完しようとしても、これらの文字まで単語 に含めてしまうためにうまく行きません。 これは、ここに置いてあるものは look-skip-characters でカスタマイズできるようにしてあります。 例えば

   (setq look-skip-characters "^ \t\n`\"()。、「」『』()")   

という感じで指定すれば OK です。


[ホーム]-> [emacs]-> [活用法]-> [english]