Emacsの数多くのコマンドは、カレントバッファの任意の連続領域を操作します。 このようなコマンドに操作対象となるテキストを指定するには、 その一方の端にマーク(mark)を置き、 もう一方の端にポイントを移動します。 ポイントとマークに挟まれたテキストをリージョン(region)と呼びます。 暫定マーク(transient-mark)モードをオンにすると、 リージョンが存在すれば Emacsはつねにそのリージョンを強調表示します (see Transient Mark)。
リージョンの境界を調整するには、ポイントやマークを移動します。 時間的にどちらを先に設定したとか、 テキスト内でどちらが先にあるかとかは関係ありません。 いったんマークを設定すると、他の箇所に再設定するまで、 その位置情報はそのまま変わりません。 各Emacsバッファには個別にマークがありますから、 以前に選択したバッファへ戻ったときには、 以前と同じままのマークが残っています。
C-y(yank
)やM-x insert-bufferなどのテキストを
挿入するコマンドの多くは、挿入したテキストの両端にポイントとマークを置いて、
挿入したテキストがリージョンに含まれるようにします。
リージョンの境界を定めること以外に、 あとで戻る可能性のある箇所を覚えておくためにもマークを使えます。 この機能をより使いやすくするために、 各バッファでは、それまでに設定した16個のマーク位置を マークリング(mark ring)に記録しています。