Go to the first, previous, next, last section, table of contents.

消去と削除

バッファのテキストを消すたいていのコマンドは,そのテキストを記録して, 考えが変わってそのテキストをもどしたり,あるいはそれをバッファの他の部分 に動かしたり,コピーすることができるようにしています.それらのコマンドは, 削除コマンドといいます.それ以外のテキストを消すコマンドでは,テキ ストは記録されません.それらは消去コマンドといいます(違いはバッファ のテキストを消すときにだけ現われます).

消去コマンドには,一度に1つの文字を消すC-d (delete-char) やDEL (delete-backward-char)の他,空白や改行文字だけを消す コマンドがあります.かなりの量の単純でないデータを破壊する可能性のあるコ マンドは,一般に削除コマンドに属します.コマンド名や,個々の説明を行なう ときには,どちらの働きをするかによって`削除'または`消去'という 語を用います.誤って,削除コマンドや消去コマンドを行なってしまったときは, C-x u (undo)コマンドを使えば元に戻せます(see section 変更の取り消し(Undo)).

消去

C-d
次の文字を消去します(delete-char).
DEL
前の文字を消去します(delete-backward-char).
M-\
ポイントのまわりの空白とタブを消去します(delete-horizontal-space).
M-SPC
ポイントのまわりの空白とタブを,空白を1つだけ残して消去します (just-one-space).
C-x C-o
現在行のまわりの空白行を消去します(delete-blank-lines).
M-^
改行文字と字下げを消去して2つの行をつなぎます(delete-indentation).

最も基本的な消去コマンドはC-d (delete-char)とDEL (delete-backward-char)です.C-dはポイントの後ろにある(カー ソルがその上にある)文字を消去します.ポイントは動きません.DELはカー ソルの前にある文字を消去し,ポイントを左に移します.改行文字も,バッファ にある他の文字と同様に消去することができます.改行文字を消去すると2つの 行がつながります.実際には,C-dDELはいつも消去コマンドであ るわけではありません.引数があると削除コマンドになります.この場合は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 字下げ.

行単位の削除

C-k
ポイントより右の行,または行全体を1行以上削除します(kill-line).

最も単純な削除コマンドは,C-kです.ポイントが行の先頭にあれば, その行のテキストをすべて削除し,そこを空白にします.空白行で使われれば, その空白行が削除されます.つまり,空白でない行の先頭でC-kを2回入力 すれば,その行は完全に削除されます.

一般的にC-kは,行の最後でなければ,ポイントからその行の終りまで を削除します.行の最後なら,その行の後ろにある改行文字が削除されて,次の 行とつながります.このとき,行の終りの見えていない空白やタブは無視します. つまり,ポイントが行の終りにあるように見えるなら,C-kで改行文字が 削除されます.

C-kに正の引数があれば,引数の行数の行が改行文字とともに削除され ます(しかしポイントより前にある現在行のテキストは残ります).負の引数があ る場合は,現在行より上の引数の行数の行が先頭から削除されます.引数が -2なら,ポイントから2行上の行の先頭まで削除されます.ポイントが行 の先頭にあれば,その行自身は数えません.したがってC-u - 2 C-kとす れば,ポイントが行の先頭にあれば,それより前の2行を削除します.

引数の値がゼロのC-kは,現在行のポイントより前のテキストを削除し ます.

他の削除コマンド

C-w
リージョン(ポイントからマークまで)を削除します(kill-region).
M-d
単語を削除します(kill-word).See section 単語
M-DEL
左の単語を削除します(backward-kill-word).
C-x DEL
ポイントから文の先頭まで削除します(backward-kill-sentence). See section .
M-k
文の終りまで削除します(kill-sentence).
C-M-k
S式を削除します(kill-sexp).See section リストとS式.
M-z char
文字charが出てくるところまでを削除します(zap-to-char).

最も汎用的な削除コマンドはC-w (kill-region)です.これはポ イントとマークの間にあるものをすべて削除します.削除するはじめの位置にマー クを設定し,終りまでポイントを移動してこのコマンドを使うと,連続した部分 をどこでも削除できます.

削除を探索を組み合わせると便利です.M-z (zap-to-char)は文 字を読み取り,ポイントからその文字が出てくる手前までを削除します.もし出 てこなければバッファの終りまで削除されます.数引数は繰り返し回数になりま す.引数が負なら,逆方向に探索し,ポイントの前までを削除します.

他の構文単位の削除もできます.単語はM-DELM-dで (see section 単語),S式はC-M-kで(see section リストとS式),文は C-x DELM-kで(see section )削除できます.


Go to the first, previous, next, last section, table of contents.