Previous: Fixing Case, Up: Fixit


11.4 綴りの検査と訂正

本節では、1つの単語やバッファのある部分の綴りを検査するコマンドを説明します。 これらのコマンドは、Emacsの一部ではない綴り検査プログラム (スペルチェッカ)ispellを 使って動作します。

M-x flyspell-mode
フライスペル(flyspell)モードをオンにする。 綴り誤りのあるすべての単語を強調表示する。
M-$
ポイント位置にある単語の綴りを検査し訂正する (ispell-word)。
M-<TAB>
綴り辞書に基づいてポイントの直前の単語を補完する (ispell-complete-word)。
M-x ispell-buffer
バッファ内の各単語の綴りを検査し訂正する。
M-x ispell-region
リージョン内の各単語の綴りを検査し訂正する。
M-x ispell-message
引用部分を除いて、メイルメッセージの草稿の各単語の綴りを検査し訂正する。
M-x ispell-change-dictionary <RET> dict <RET>
辞書としてdictを使ってispellプロセスを再起動する。
M-x ispell-kill-ispell
ispellプロセスを終了させる。

フライスペル(flyspell)モードは、 Emacsで編集しているときに全自動で綴り検査をする方法です。 単語を変更したり挿入したりするたびにその単語を検査します。 認識できない単語をみつけると、その単語を強調表示します。 これはユーザーの編集には干渉しませんが、 ある単語が強調表示されたら、その単語へ移動して訂正できます。 カレントバッファでこのモードをオン/オフするには、 M-x flyspell-modeと打ちます。

フライスペル(flyspell)モードが ある単語を綴りまちがいであると強調表示したときには、 その単語をMouse-2でクリックできます。 すると、訂正候補やどんな操作を行えるか表示されます。 単語を手動で編集して好きなように訂正してもかまいません。

Emacsの他の綴り検査機能は、明示的にコマンドを実行したときに 単語の検査を行います。 バッファ全体やその一部分の綴りを検査する機能は、 Emacsセッション以外で作成した綴り誤りを含むかもしれないテキストには有益です。

ポイントの周りかポイントのつぎにある単語の綴りを検査し、 場合によっては訂正するには、 M-$ispell-word)コマンドを使います。 単語が正しくないときには、 その単語についてどうするかのさまざまな選択肢を提示します。

カレントバッファ全体を検査するには、M-x ispell-bufferを使います。 カレントリージョンだけを検査するには、M-x ispell-regionを使います。 書きかけの電子メイルメッセージの綴りを検査するには、 M-x ispell-messageを使います。 これは、バッファ全体を検査しますが、 字下げしてある部分や他のメッセージからの引用と思われる部分は検査しません。

これらのコマンドは、正しくない単語に出会うたびに、どうするか聞いてきます。 通常、検査した単語に似ている『近い』単語をいくつか含めた 選択肢一覧を表示します。 そうしたら、文字を打たなくてはなりません。 以下に有効な返答をあげます。

<SPC>
この単語をスキップする。 この単語は正しくないとしておくが、ここでは変更しない。
r new <RET>
(今回だけは)newで置き換える。
R new <RET>
単語をnewで置き換える。 さらに、バッファの他の箇所でも置き換えられるように query-replaceを実行する。
digit
(今回だけは)この単語を『近い』単語の1つで置き換える。 『近い』単語にはそれぞれ数字が付いているので、その数字を打つ。
a
正しくない単語を容認する。 この編集セッションに限って、正しいかのように扱う。
A
正しくない単語を容認する。 この編集セッションのこのバッファに限って、正しいかのように扱う。
i
この単語を個人辞書ファイルに入れ、 ispellは今後のセッションを含めてこれ以降この単語を正しいものとして扱う。
u
この単語を小文字に変換して個人辞書ファイルに入れる。
m
iと同様だが、辞書の補完情報も記録できる。
l word <RET>
wordに一致する単語を辞書から探す。 みつかった単語は、新たな『近い』単語一覧となり、 数字を打って置き換える単語を選べる。 wordには、ワイルドカード‘*’を使うこともできる。
C-g
対話的な綴り検査を終了する。 C-u M-$で、あとで再開できる。
X
C-gと同じ。
x
対話的な綴り検査を終了し、綴り検査を始めた箇所へポイントを戻す。
q
対話的な綴り検査を終了し、ispellプロセスを終了させる。
C-l
画面を再描画する。
C-z
このキーは普通のコマンドの意味 (Emacsを休止する、あるいは、このフレームをアイコン化する)。

テキスト(text)モードやその関連したモードでは M-<TAB>キーにバインドしてあるコマンド ispell-complete-wordは、 綴り訂正に基づいた補完一覧を提示します。 単語の始めの部分を挿入してからM-<TAB>と打つと、 補完一覧ウィンドウを表示します。 補完一覧から1つを選ぶには、 候補のうえでMouse-2をクリックするか、 カーソルを補完ウィンドウの単語の箇所に移動してから <RET>と打ちます。 See Text Mode

一度綴り検査を行うと、ispellプロセスは(何かすることを待って) 動き続けます。 ですから、つぎに綴り検査コマンドを使うと、 より早く実行を完了します。 ispellプロセスを取り除きたいときには、 M-x ispell-kill-ispellを使います。 ispellプロセスは綴り訂正をしているとき以外には何もしないので、 通常はこのコマンドを使う必要はありません。

ispellは2つの辞書を使います。 標準辞書と個人辞書です。 変数ispell-dictionaryは、使用すべき標準辞書のファイル名を指定します。 この値がnilならば、デフォルトの辞書を使います。 M-x ispell-change-dictionaryコマンドはこの変数を設定して、 設定した辞書を使うようにispellサブプロセスを再起動します。