2003 CNS GUIDE
copyright
 

11.4 広範囲の編集

11.4.1 範囲の指定

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

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

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

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

リージョンの指定

図 11.4 リージョンの指定

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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