SFC CNS GUIDE 2004

2.4 広範囲の編集

2.4.1 範囲の指定

Emacsでは,バッファの中に``マーク''を指定できます. マークした位置からカーソルの間にはさまれた部分を``リージョン''といい, この範囲に対して編集を行えます.

2.4.1.1 範囲の指定 -- (C-<SPACE>C-@)

リージョンを指定するには,始点にマークをセットし, 終点にカーソルを移動します. マークをセットするには, C-<SPACE>またはC-@を入力します. カーソルの位置にマークがセットされ,エコーエリアに次のように 表示されます.

Mark set

範囲を指定したい終点までカーソルを移動すると, マークからカーソルの間がリージョンに指定できます.

02_EmacsMark リージョンの指定

また,C-kなどでテキストを削除 した場合や,検索や置換などを行ったときは, その作業の開始地点に自動的にマークがセットされます. また,バッファ全体をリージョンに設定するには C-x hを入力します.

2.4.1.2 マークへの移動 -- (C-x C-xC-u C-<SPACE>)

C-x C-xによって,マークとカーソルの位置を入れ替え, マークのあった位置にカーソルを移動できます. C-<SPACE>を入力するとマークの位置は更新されますが, Emacsは以前のマークの位置を保存しています. また,C-u C-<SPACE>を連続して入力することにより, 過去のマークの位置へさかのぼって移動できます.

2.2にマークとリージョンに 関するキー操作を示します.

表 2.2: マークとリージョン
キー操作 意味
C-<SPACE>C-@ マークの設定
C-x h バッファ全体をリージョンにする
C-x C-x マーク位置とカーソル位置の入れ替え
C-u C-<SPACE> 過去のマークへの移動

2.4.2 広範囲の削除と取り出し

Emacsでは,広範囲のテキストを一度に削除し,それを取り出せます.削除された テキストは,``キルバッファ'' というバッファに保存され,新しいものから順番に取り出せます.

2.4.2.1 1行削除 -- (C-k)

C-kを入力するとカーソル上の 文字から行の終りまでを削除できます. C-kを使って削除された範囲は, キルバッファに保存されます.キルバッファの中身は, C-yを入力することによって現在 カーソルのある位置に取り出せます. また,C-kを連続して入力することによって一度に 複数行を削除した場合,削除した行すべてが1つのキルバッファに保存され, C-yで全体を取り出せます.

2.4.2.2 リージョンの削除 -- (C-w)

リージョンを削除するためには,C-wを入力します. 削除されたテキストはC-kを入力したときと同様に キルバッファに保存されます.

2.4.2.3 リージョンのコピー -- (M-w)

M-wを入力すると,リージョン内のテキストを削除せずに,キル バッファに保存します.

2.4.2.4 キルバッファの取り出し -- (C-y)

テキストを削除したところから別の位置までカーソルを移動して, C-yによって削除したテキストの内容を取り出せば, テキストを別の場所に移動できます. また,C-yを複数回入力することによって削除した テキストを複製できます.

2.4.2.5 過去のキルバッファの取り出し -- (C-y M-y)

C-kを入力するたびにキルバッファの内容は更新されますが, Emacsは以前のキルバッファの内容を保存しています.C-yに続 けてM-yを入力することにより,以前のキルバッファを取り 出せます. さらにM-yを連続して入力すると過去のキルバッファ の内容をさかのぼって取り出せます.

2.3にキルバッファに関するキー操作を示します.

分類 キー操作 意味
切り取り C-k カーソル上の文字から行末までの削除
  C-w リージョンの削除
コピー M-w リージョンのコピー
取り出し C-y キルバッファの内容の取り出し
  C-y M-y 過去のキルバッファの内容の取り出し
Valid CSS! Valid HTML 4.01!