• 検索結果がありません。

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

を実行するまでの間は、他の削 除コマンド は実行しないで下さい。もし他の削除コマンド を実行すると、あらたに削除さ れたテキストが削除バッファに入れられ、最初に削除したテキストは失われてしまいます。

リージョンのテキストの移動でなく、テキストのコピーもできます。この方法は先ほど と同様ですが、コピーの場合は

C-w

の代わりに

M-w

を使います。この編集コマンドはリー ジョンのテキストを削除バッファにコピーするだけなので、リージョンのテキストは削除 されません。