Next: , Previous: , Up: Text   [Contents][Index]


31.6 テキストの削除

削除とはバッファー内のテキストの一部をkillリングに保存せずに取り除くことを意味します(The Kill Ringを参照)。削除されたテキストをyankすることはできませんが、undoメカニズム(Undoを参照)を使用すれば再挿入が可能です。特別なケースにおいてはkillリングにテキストの保存を行う削除関数がいくつかあります。

削除関数はすべてカレントバッファーにたいして処理を行います。

Command: erase-buffer

この関数はカレントバッファーのテキスト全体(アクセス可能範囲だけではない)を削除してバッファーが読み取り専用ならbuffer-read-only、バッファー内の一部テキストが読み取り専用ならtext-read-onlyをシグナルする。それ以外では確認なしでテキストを削除する。リターン値はnil

バッファーからの大量テキストの削除により、“バッファーが大幅に縮小された”という理由で、通常はさらなる自動保存ふぁ抑制される。しかしerase-bufferは、将来のテキストが以前のテキストと関連があるのは稀であり、以前のテキストのサイズと比較されるべきではないというアイデアにもとづき、これを行わない。

Command: delete-region start end

このコマンドはカレントバッファー内の位置startからendまでの間のテキストを削除してnilをリターンする。削除されるリージョン内にポイントがあれば、リージョン削除後のポイントの値はstart。それ以外の場合は、マーカーが行うようにポイントはテキストを取り囲むように再配置される。

Function: delete-and-extract-region start end

この関数はカレントバッファー内の位置startからendまでの間のテキストを削除して、削除されたテキストを含む文字列をリターンする。

削除されるリージョン内にポイントがあれば、リージョン削除後のポイントの値はstart。それ以外ならマーカーが行うようにポイントはテキストを取り囲むように再配置される。

Command: delete-char count &optional killp

このコマンドはポイント直後のcount文字、countが負なら直前のcount文字を削除する。killpが非nilなら削除した文字をkillリングに保存する。

インタラクティブな呼び出しでは、countは数プレフィクス引数、killpは未処理プレフィクス引数(unprocessed prefix argument)。すなわちプレフィクス引数が与えられたらそのテキストはkillリングに保存され、与えられなければ1文字が削除されて、それはkillリングに保存されない。

リターン値は常にnil

Command: delete-backward-char count &optional killp

このコマンドはポイント直前のcount文字、countが負なら直後のcount文字を削除する。killpが非nilなら、削除した文字をkillリングに保存する。

インタラクティブな呼び出しでは、countは数プレフィクス引数、killpは未処理プレフィクス引数(unprocessed prefix argument)。すなわちプレフィクス引数が与えられたらそのテキストはkillリングに保存され、与えられなければ1文字が削除されて、それはkillリングに保存されない。

リターン値は常にnil

Command: backward-delete-char-untabify count &optional killp

このコマンドはタブをスペースに変換しながら、後方にcount文字を削除する。次に削除する文字がタブなら、まず適正な位置を保つような数のスペースに変換してから、それらのうちのスペース1つをタブのかわりに削除する。killpが非nilなら、このコマンドは削除した文字をkillリングに保存する。

タブからスペースへの変換はcountが正の場合のみ発生する。負の場合はポイント後の正確に-count文字が削除される。

インタラクティブな呼び出しでは、countは数プレフィクス引数、killpは未処理プレフィクス引数(unprocessed prefix argument)。すなわちプレフィクス引数が与えられたらそのテキストはkillリングに保存され、与えられなければ1文字が削除されて、それはkillリングに保存されない。

リターン値は常にnil

User Option: backward-delete-char-untabify-method

このオプションはbackward-delete-char-untabifyが空白文字を扱う方法を指定する。可能な値にはuntabify (タブを個数分のスペースに変換してスペースを1つ削除。これがデフォルト)、hungry (1コマンドでポイント前のタブとスペースすべてを削除する)、all (ポイント前のタブとスペース、および改行すべてを削除する)、nil (空白文字にたいして特に何もしない)。