Next: , Previous: Help, Up: Top


7 マークとリージョン

Emacsの数多くのコマンドは、カレントバッファの任意の連続領域を操作します。 このようなコマンドに操作対象となるテキストを指定するには、 その一方の端にマーク(mark)を置き、 もう一方の端にポイントを移動します。 ポイントとマークに挟まれたテキストをリージョン(region)と呼びます。 暫定マーク(transient-mark)モードをオンにすると、 リージョンが存在すれば Emacsはつねにそのリージョンを強調表示します (see Transient Mark)。

リージョンの境界を調整するには、ポイントやマークを移動します。 時間的にどちらを先に設定したとか、 テキスト内でどちらが先にあるかとかは関係ありません。 いったんマークを設定すると、他の箇所に再設定するまで、 その位置情報はそのまま変わりません。 各Emacsバッファには個別にマークがありますから、 以前に選択したバッファへ戻ったときには、 以前と同じままのマークが残っています。

C-yyank)やM-x insert-bufferなどのテキストを 挿入するコマンドの多くは、挿入したテキストの両端にポイントとマークを置いて、 挿入したテキストがリージョンに含まれるようにします。

リージョンの境界を定めること以外に、 あとで戻る可能性のある箇所を覚えておくためにもマークを使えます。 この機能をより使いやすくするために、 各バッファでは、それまでに設定した16個のマーク位置を マークリング(mark ring)に記録しています。