M- x command-name
7.1.3 マークとリージョン
長いファイルを編集しているときは 、カーソルを別の場所に移してそこの内容を読み、
また元の場所に戻るということがよくあります。元の場所に戻るときに目で見ながら元の 場所に戻ってゆくのは大変です。このことを助けるために、テキストの好きな場所にマー
ク
(mark)
をつけることができます。カーソルがバッファ内のどの位置にあっても、すぐにマークの位置にカーソルを戻すことができます。
マークに関連した編集コマンド には、つぎのものがあります。
C- SPC
またはC-@
またはM-x set-mark-command
現在のカーソル位置にマークを設定します。
C-x C-x
現在のカーソル位置にマークをつけ、マークの付いていた場所にカーソルを移動させ ます。
C-x C-x
は、マークのついた位置と現在のカーソル位置を交換します。そのためC-x C-x
を続けて実行することで、バッファ内の
2
つの場所を交互に見ることができます。バッファの中のテキストの内、ある範囲をすべて削除するとか、ある範囲内の英単語を すべて大文字にしたい、ということがあります。そのような範囲を指定するのに、マーク と現在のカーソル位置の間を使います。この範囲のことをリージョン
(region)
と呼びます。テキストのある部分をリージョンとして指定するには、まず指定したいテキストの始め の位置にカーソルを移動してマークをつけます。つぎに終りの位置にカーソルを移動させ ると、望みの部分がリージョンとして指定されたことになります。リージョンに対して適 用される編集コマンド は後に説明します。なおリージョンの指定には、マークが先に来て もカーソル位置が先に来ても関係はありません。単にカーソル位置とマークの間のテキス トがリージョンとなります。
7.1.4 消去、削除、ヤンク
バッファ内の不要なテキストは、消去
(delete)
または削除(kill)
によって消します。削除されたテキストは削除バッファ
(kill buer)
と呼ばれる特別の領域に入れられます。削除 バッファは最後に削除されたテキストを保持し 、このテキストをあとからバッファに挿入 することもできます。テキストの移動やコピーはこの機能を使います。なお、移動は同じ バッファの中でけでなく、他のバッファへもできます。いっぽ う消去されたテキストは削 除バッファに入りません。これが「削除」と「消去」の違いですので、注意してください。消去と削除をする編集コマンド には、次のものがあります。
C-d
カーソルの下の
1
文字を消去します。"But what happens when you come to the beginning again?"
Alice ventured to ask.
"Exactly so," said the Hatter: "as the things get used up."
"Suppose we change the subject," the march Hare interrupted yawning.
(a)
元のテキスト"Exactly so," said the Hatter: "as the things get used up."
"Suppose we change the subject," the march Hare interrupted yawning.
(b) 4
回続けてC-k
を実行した後。(
"But what...
to ask. の2
行が削除されています。)
"Exactly so," said the Hatter: "as the things get used up."
"But what happens when you come to the beginning again?"
Alice ventured to ask.
"Suppose we change the subject," the march Hare
interrupted yawning.
(c)
"Suppose...
で始まる行の先頭でC-y
を実行。テキストの移動が行なわれました。
図
7.2:
削除とヤンク(L.Carroll \Alice's Adventures in Wonderland"
より)
DEL
カーソルの前の
1
文字を消去します。
C-k
行の最後まで削除します。
M-d
カーソルの後ろの1語を削除します。
C-w
リージョンのテキストをバッファより削除し 、削除バッファに入れます。
M-w
リージョンのテキストを削除バッファにコピーします。
削除されたテキストを挿入する機能が 、ヤンク機能
(yank)
です。
C-y
最後に削除されたテキストを現在のカーソル位置に挿入します。
C-k
およびM-d
が連続して実行されたときは、一連の動作で削除されたテキストがヤン クで挿入されるテキストとなります。たとえば4
回続けて(
そのあいだは他の編集コマン ド は実行せずに) C-k
をおこなった後にC-y
を実行すると、4
回のC-k
で削除されたテキストすべてがカーソル位置に挿入されます。図
7.2
を参考にしてください。テキストの移動は
C-w
でもできます。この機能は紙の書類の一部を切って別の場所に糊 で貼り付けることに似ていることから、カットアンド ペースト(cut and paste)
とも呼ばれます。
まず移動したい領域の先頭にカーソルを移動して、
C-SPC
でマークを付けます。つぎに その部分の終りの部分にカーソルを移動します。これで移動させたい領域をリージョンと して指定できました。ここでC-w
でリージョンを削除します。削除バッファには削除した テキストが入ります。テキストを移動させたい場所にカーソルを移動させ、C-y
を実行します。これでテキストの移動ができます。削除してから
C-y
を実行するまでの間は、他の削 除コマンド は実行しないで下さい。もし他の削除コマンド を実行すると、あらたに削除さ れたテキストが削除バッファに入れられ、最初に削除したテキストは失われてしまいます。リージョンのテキストの移動でなく、テキストのコピーもできます。この方法は先ほど と同様ですが、コピーの場合は