[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [表紙] | [目次] | [索引] | [検索] [上端 / 下端] [?] |
本章では、入力直後にテキストのまちがいに気づいたとき、 あるいは、テキストを作成中に気が変わったときに 特に便利なコマンドを説明します。
まちがった編集を訂正するもっとも基本的なコマンドは、アンドゥコマンド、 C-x uやC-_です。 このコマンドは、(通常)1つのコマンド、 コマンドの一部分(query-replace
の場合)、 いくつかの連続した自己挿入文字をアンドゥします。 C-_やC-x uを連続して繰り返すと、 アンドゥ情報がある限り、次々と以前の変更をアンドゥします。 より詳しくは、See 節 D.4 変更をアンドゥする(もとに戻す) (2004/03/28)。
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [表紙] | [目次] | [索引] | [検索] [上端 / 下端] [?] |
delete-backward-char
)。backward-kill-word
)。backward-kill-sentence
)。DEL文字(delete-backward-char
)は もっとも重要な訂正コマンドです。 ポイントの直前にある文字を削除します。 自己挿入文字のコマンドに続けてDELを打つと、 そのコマンドを取り消すと考えることができます。 しかし、コマンドを取り消す一般的な方法はDELであるなどと 誤解しないでください。
まちがいが数文字よりも長いときには、 M-DELやC-x DELを使うほうが便利でしょう。 M-DELは直前の単語の先頭までをキルし、 C-x DELは直前の文の先頭までをキルします。 文を書いている途中で気が変わったときには、 C-x DELが特に便利です。 M-DELとC-x DELは、 キルしたテキストをC-yやM-yで戻せるように保存します。 See 節 H.9 ヤンク (2005/03/20)。
何を打とうとしているのか混乱したりわからなくなったりしたときには、 打ちまちがいがたとえ数文字であってもM-DELはとても便利です。 このような場合、画面を見ながらでないとDELでは訂正できません。 M-DELならば、ほとんど何も考えずに単語全体をキルして、 入力を再開できます。
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [表紙] | [目次] | [索引] | [検索] [上端 / 下端] [?] |
transpose-chars
)。transpose-words
)。transpose-sexps
)。transpose-lines
)。 2つの文字を入れ替えてしまうというよくあるまちがいは、 それらが隣接しているならば、 C-tコマンド(transpose-chars
)で直せます。 通常、C-tは、ポイントの両側にある文字を入れ替えます。 行末では、行末の文字と改行文字を入れ替えるという役に立たない ことではなくて、C-tはその行の最後の2文字を入れ替えます。 よって、入れ替えまちがいにすぐに気づいたなら、 C-tだけで訂正できます。 まちがいにすぐに気づかなかったときには、 2つの入れ替わっている文字のあいだにカーソルを移動する必要があります。 空白とそのまえの単語の最後の文字とを入れ替えてしまったときには、 単語移動コマンドでその場所へ戻るのがよいでしょう。 それ以外の場合には、後向き探索(C-r)が最良であることがままあります。 See 節 K. 探索と置換 (2004/03/27)。
M-t(transpose-words
)は、 ポイントの直前の単語とポイントの直後の単語を入れ替えます。 ポイントは単語を1つ前向きに横断し、 ポイントの直前の単語かポイントを含む単語を前向きに引きずっていきます。 単語のあいだにある句読点文字は動きません。 たとえば、`FOO, BAR'は`BAR FOO,'ではなくて、 `BAR, FOO'と入れ替わります。
C-M-t(transpose-sexps
)は、2つの式(see 節 V.2 リストとS式)を 入れ替えるコマンドです。 また、C-x C-t(transpose-lines
)は、行を入れ替えます。 これらのコマンドはM-tに似た動作をしますが、 テキストを構文単位に分ける点が異なります。
入れ替えコマンドに数引数を指定すると、反復回数になります。 ポイントの直前やポイントを含む文字(単語、S式、行)を いくつ先の文字(単語、S式、行)へ移動するか指定します。 たとえば、C-u 3 C-tは、ポイントの直前の文字を3文字先の文字へ移動します。 つまり、`f-!-oobar'を`oobf-!-ar'にします。 これは C-tを3回繰り返したのと同じことです。 C-u - 4 M-tは、ポイントの直前の単語を4つまえの単語へ移動します。 C-u - C-M-tは、引数を指定しないC-M-tの効果を打ち消します。
数引数0には特別な意味があります (さもないと、コマンドを0回繰り返しても何もしない)。 ポイントの直後の文字(単語、S式、行)と マークの直後の文字(単語、S式、行)を入れ替えます。
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [表紙] | [目次] | [索引] | [検索] [上端 / 下端] [?] |
とてもよくあるまちがいは、単語を打つときに大文字小文字をまちがうことです。 このため、単語の大文字小文字を変換するコマンド、 M-l、M-u、M-cに負の引数を指定すると、 カーソル(ポイント)を移動しないという特別な機能があります。 単語を打ちまちがえたとすぐに気づいたときには、 単に大文字小文字を変換して、入力を続けられます。 See 節 U.6 大文字小文字変換コマンド。
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [表紙] | [目次] | [索引] | [検索] [上端 / 下端] [?] |
本節では、1つの単語やバッファのある部分の綴りを検査するコマンドを説明します。 これらのコマンドは、Emacsの一部ではない綴り検査プログラム (スペルチェッカ)ispellを 使って動作します。 See The Ispell Manual。
ispell-word
)。ispell-complete-word
)。フライスペル(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を使います。 これは、バッファ全体を検査しますが、 字下げしてある部分や他のメッセージからの引用と思われる部分は検査しません。
これらのコマンドは、正しくない単語に出会うたびに、どうするか聞いてきます。 通常、検査した単語に似ている『近い』単語をいくつか含めた 選択肢一覧を表示します。 そうしたら、文字を打たなくてはなりません。 以下に有効な返答をあげます。
query-replace
を実行する。
テキスト(text)モードやその関連したモードでは M-TABキーにバインドしてあるコマンド ispell-complete-word
は、 綴り訂正に基づいた補完一覧を提示します。 単語の始めの部分を挿入してからM-TABと打つと、 補完一覧ウィンドウを表示します。 補完一覧から1つを選ぶには、 候補のうえでMouse-2をクリックするか、 カーソルを補完ウィンドウの単語の箇所に移動してから RETと打ちます。 See 節 U.7 テキストモード(textモード)。
一度綴り検査を行うと、ispellプロセスは(何かすることを待って) 動き続けます。 ですから、つぎに綴り検査コマンドを使うと、 より早く実行を完了します。 ispellプロセスを取り除きたいときには、 M-x ispell-kill-ispellを使います。 ispellプロセスは綴り訂正をしているとき以外には何もしないので、 通常はこのコマンドを使う必要はありません。
ispellは2つの辞書を使います。 標準辞書と個人辞書です。 変数ispell-dictionary
は、使用すべき標準辞書のファイル名を指定します。 この値がnil
ならば、デフォルトの辞書を使います。 M-x ispell-change-dictionaryコマンドはこの変数を設定して、 設定した辞書を使うようにispellサブプロセスを再起動します。
[ << ] | [ >> ] | [表紙] | [目次] | [索引] | [検索] [上端 / 下端] [?] |