削除とは、テキストを消去してキルリングに保存しないことを指します。多くの場合、テキストを削除するEmacsコマンドは、1文字だけ、あるいは空白文字だけを消去するものです。
直前の文字、またはアクティブな場合はその領域内のテキストを削除します (delete-backward-char)。
次の文字、またはリージョンがアクティブな場合はそのリージョン内のテキストを削除します (delete-forward-char)。
次の文字 (delete-char) を削除します。
ポイント (delete-horizontal-space) 周辺のスペースとタブを削除します。
ポイント周辺のスペースとタブを削除し、スペースを1つ残す。
ポイント周辺のスペースやタブを柔軟に削除する (cycle-spacing)。
現在の行の前後の空行を削除します (delete-blank-lines)。
途中の改行と、それに続くインデント(delete-indentation)を削除して、2行を結合します。
基本的な削除コマンドである DEL (delete-backward-char)、delete
(delete-forward-char)、および C-d (delete-char)
については既に説明しました。テキストの消去を参照してください。数値引数を指定すると、指定した文字数分が削除されます。数値引数を省略するか
1 を指定した場合、DEL および delete
は、リージョンがアクティブであればそのリージョン内のすべてのテキストを削除します(リージョンの操作を参照)。
その他の削除コマンドは、スペース、タブ、改行といった空白文字のみを削除するものです。M-\ (delete-horizontal-space)
は、ポイントの前後にあるすべてのスペースとタブ文字を削除します。接頭辞引数を指定すると、ポイントより前のスペースとタブ文字のみが削除されます。
M-x just-one-space はポイント周辺のタブとスペースを削除しますが、以前に存在したスペースの数に関わらず(たとえ一つもなかったとしても)、ポイントの前に1つのスペースを残します。数値引数 n を指定した場合、n が正であればポイントの前に n 個のスペースを残し、n が負であれば、スペースとタブに加えて改行も削除し、ポイントの前に −n 個のスペースを残します。
コマンド cycle-spacing (M-SPC) は、just-one-space
のより柔軟なバージョンとして動作します。連続して繰り返し呼び出すと、cycle-spacing-actions
で定義された異なるスペースクリーンアップ処理を循環的に実行します。デフォルトでは、1回目の呼び出しは just-one-space と同様に動作し、2回目は delete-horizontal-space
のようにポイント周辺のすべての空白文字を削除し、3回目は元の空白文字を復元します。その後、このサイクルが繰り返されます。接頭辞引数を指定して呼び出した場合、各処理にその引数の値が渡されます。ユーザーオプション
cycle-spacing-actions
には他のメンバーを含めることができます。詳細は当該オプションのドキュメント文字列を参照してください。
C-x C-o (delete-blank-lines)
は、現在の行以降のすべての空行を削除します。現在の行が空行である場合は、現在の行より前のすべての空行も削除します(空行1行、すなわち現在の行が残ります)。単独の空行がある場合は、その行を削除します。
M-^ (delete-indentation)
は、改行と周囲のすべてのスペースを削除することで(通常は単一のスペースが残ります)、現在の行と前の行を結合します。M-^ を参照してください。
コマンド delete-duplicate-lines
は、範囲内から同一の行を検索し、各行のうち1つを除いてすべて削除します。通常、重複する行の最初の出現箇所を保持しますが、接頭辞引数 C-u を指定すると最後の出現箇所を保持します。接頭辞引数 C-u
C-u
を指定すると、隣接する同一の行のみを検索します。これはより効率的な動作モードであり、行がすでにソートされている場合に有用です。接頭辞引数 C-u C-u C-u を指定すると、重複する空行を保持します。