バッファのテキストを消すたいていのコマンドは,そのテキストを記録して, 考えが変わってそのテキストをもどしたり,あるいはそれをバッファの他の部分 に動かしたり,コピーすることができるようにしています.それらのコマンドは, 削除コマンドといいます.それ以外のテキストを消すコマンドでは,テキ ストは記録されません.それらは消去コマンドといいます(違いはバッファ のテキストを消すときにだけ現われます).
消去コマンドには,一度に1つの文字を消すC-d (delete-char
)
やDEL (delete-backward-char
)の他,空白や改行文字だけを消す
コマンドがあります.かなりの量の単純でないデータを破壊する可能性のあるコ
マンドは,一般に削除コマンドに属します.コマンド名や,個々の説明を行なう
ときには,どちらの働きをするかによって`削除'または`消去'という
語を用います.誤って,削除コマンドや消去コマンドを行なってしまったときは,
C-x u (undo
)コマンドを使えば元に戻せます(see section 変更の取り消し(Undo)).
delete-char
).
delete-backward-char
).
delete-horizontal-space
).
just-one-space
).
delete-blank-lines
).
delete-indentation
).
最も基本的な消去コマンドはC-d (delete-char
)とDEL
(delete-backward-char
)です.C-dはポイントの後ろにある(カー
ソルがその上にある)文字を消去します.ポイントは動きません.DELはカー
ソルの前にある文字を消去し,ポイントを左に移します.改行文字も,バッファ
にある他の文字と同様に消去することができます.改行文字を消去すると2つの
行がつながります.実際には,C-dとDELはいつも消去コマンドであ
るわけではありません.引数があると削除コマンドになります.この場合は2文
字以上消せるからです.
これ以外の消去コマンドはすべて空白,タブ,改行文字など制御文字だけを消
去します.M-\ (delete-horizontal-space
)は,ポイントの前後に
あるすべての空白とタブを消去します.M-SPC
(just-one-space
)も同様ですが,ポイントの後ろに1つだけ空白を残しま
す(空白がなければ1つ挿入します).
C-x C-o (delete-blank-lines
)は,現在行より後ろにある空白
行をすべて消去します.現在行が空白行ならば,それより前にある空白行もすべ
て消去します(空白行が1つ現在行として残ります).M-^
(delete-indentation
)は,現在行とその前の行(引数があれば,現在行と
次の行)をつなげます.改行文字とそのまわりのすべての空白を消去して2つの行
をつなげますが,空白が1つ残ることもあります.See section 字下げ.
kill-line
).
最も単純な削除コマンドは,C-kです.ポイントが行の先頭にあれば, その行のテキストをすべて削除し,そこを空白にします.空白行で使われれば, その空白行が削除されます.つまり,空白でない行の先頭でC-kを2回入力 すれば,その行は完全に削除されます.
一般的にC-kは,行の最後でなければ,ポイントからその行の終りまで を削除します.行の最後なら,その行の後ろにある改行文字が削除されて,次の 行とつながります.このとき,行の終りの見えていない空白やタブは無視します. つまり,ポイントが行の終りにあるように見えるなら,C-kで改行文字が 削除されます.
C-kに正の引数があれば,引数の行数の行が改行文字とともに削除され ます(しかしポイントより前にある現在行のテキストは残ります).負の引数があ る場合は,現在行より上の引数の行数の行が先頭から削除されます.引数が -2なら,ポイントから2行上の行の先頭まで削除されます.ポイントが行 の先頭にあれば,その行自身は数えません.したがってC-u - 2 C-kとす れば,ポイントが行の先頭にあれば,それより前の2行を削除します.
引数の値がゼロのC-kは,現在行のポイントより前のテキストを削除し ます.
kill-region
).
kill-word
).See section 単語
backward-kill-word
).
backward-kill-sentence
).
See section 文.
kill-sentence
).
kill-sexp
).See section リストとS式.
zap-to-char
).
最も汎用的な削除コマンドはC-w (kill-region
)です.これはポ
イントとマークの間にあるものをすべて削除します.削除するはじめの位置にマー
クを設定し,終りまでポイントを移動してこのコマンドを使うと,連続した部分
をどこでも削除できます.
削除を探索を組み合わせると便利です.M-z (zap-to-char
)は文
字を読み取り,ポイントからその文字が出てくる手前までを削除します.もし出
てこなければバッファの終りまで削除されます.数引数は繰り返し回数になりま
す.引数が負なら,逆方向に探索し,ポイントの前までを削除します.
他の構文単位の削除もできます.単語はM-DELやM-dで (see section 単語),S式はC-M-kで(see section リストとS式),文は C-x DELやM-kで(see section 文)削除できます.