logo
 
cpacer

3.4 広範囲の編集

3.4.1 範囲の指定

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


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

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

Mark set

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


リージョンの指定

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


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

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

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



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


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

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

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

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


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

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

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

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


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

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


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

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

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

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