Emacsでは、他の多くのアプリケーションと同様に、バッファテキストの任意の部分を選択し、その選択テキストに対して動作するコマンドを実行できます。Emacsでは、選択テキストのことをリージョンと呼びます。その扱いは他のプログラムにおける選択テキストと非常に似ていますが、重要な相違点もあります。
リージョンとは、マークと現在のポイントの間にあるバッファの領域のことです。マークを任意の場所に設定し(例えば C-SPC コマンドを使用)、次にポイントをリージョンの終了位置に移動させることで、リージョンを定義します。(あるいは、マウスを使ってリージョンを定義することもできます。)
テキスト内でどちらが先に来ても、領域は常にポイントとマークの間に広がります。ポイントを移動させるたびに、領域も変化します。
マークをテキスト内のある位置に設定すると、その位置がアクティブになります。マークがアクティブな状態を、リージョンがアクティブであるとも言います。Emacsは、regionフェイスを用いてリージョン内のテキストをハイライトすることで、その範囲を示します(フェイスのカスタマイズを参照)。
バッファ内のテキストを変更するコマンドを含む、特定の非モーションコマンドの実行後、Emacsは自動的にマークを解除し、ハイライトをオフにします。また、いつでも C-g と入力することで、明示的にマークを解除することもできます(終了と中断を参照)。
多くのコマンドは、操作対象となるテキストをアクティブリージョンに限定します。例えば、M-%コマンド(一致するテキストを置換するもの)は、通常はバッファのアクセス可能な領域全体で動作しますが、アクティブリージョンがある場合は、代わりにその領域内でのみ動作します。
マークは、アクティブでなくても有用です。例えば、マークリングを使って以前のマーク位置に移動できます。マークリングを参照してください。また、一部のコマンドは非アクティブなリージョンに対しても効果を発揮します(例えば upcase-region)。さらに、C-x C-x のようなコマンドでリージョンを再アクティブ化することもできます。
インタラクティブセッションでデフォルトとなっている上記の動作は、「一時マークモード」として知られています。一時マークモードを無効にすると、Emacsは別の動作に切り替わり、通常はリージョンがハイライトされなくなります。一時マークモードの無効化を参照してください。
あるバッファでマークを設定しても、他のバッファのマークには影響しません。アクティブなマークがあるバッファに戻ると、マークは以前と同じ位置にあります。複数のウィンドウで同じバッファを表示している場合、それぞれでポイントの値が異なるため、リージョンも異なりますが、マークの位置はすべて共通です。複数のウィンドウを参照してください。通常、選択中のウィンドウのみがそのリージョンをハイライトしますが、変数
highlight-nonselected-windows が nil 以外の場合、各ウィンドウが自身のリージョンをハイライトします。
別の種類の領域として、矩形領域があります。Rectanglesを参照してください。