Emacsのコマンドには、現在のバッファー内の、任意の連続する領域(region)を操作するものがたくさんあります。そのようなコマンドが操作するテキストを指定するには、領域の一方の端にマーク(mark)をセットし、もう一方の端にポイントを移動します。ポイントとマークの間のテキストを、リージョン(region)と呼びます。リージョンは常にポイントとマークの間で拡張され、それは一方がテキストの先頭にある場合も変わりません。ポイントを移動すれば、常にリージョンは変化します。
テキストのある位置にマークをセットすると、マークはアクティブ(active)になります。マークがアクティブのときは、リージョンもアクティブになります。Emacsはアクティブなリージョンの中にあるテキストを、フェイスregion
でハイライト表示します(Face Customizationを参照してください)。
バッファーのテキストを変更するコマンドを含む、特定の非移動系コマンド(non-motion commands)の後で、Emacsは自動的にマークを非アクティブ(deactivates)にし、これによりハイライトも解除されます。C-gをタイプすれば、いつでも明示的に非アクティブにすることができます(Quittingを参照してください)。
上記のデフォルト動作は、Transient Markモード(暫定マークモード)という名で知られています。Transient Markモードを無効にすると、Emacsは通常ではリージョンをハイライトしなくなります。Disabled Transient Markを参照してください。
あるバッファーでマークをセットしても、他のバッファーのマークは影響を受けません。アクティブなマークがあるバッファーに戻ったとき、マークは以前と同じ場所にあります。複数のウィンドウで同じバッファーを表示しているとき、これらのウィンドウはそれぞれのポイント位置をもっているので、リージョンも異なります。しかしこれらのウィンドウでは、マークの位置は共通です。Windowsを参照してください。通常、選択されたウィンドウのリージョンだけがハイライトされます。しかし変数highlight-nonselected-windows
が非nil
の場合、各ウィンドウのリージョンがハイライトされます。
“rectangular region(矩形リージョン)”という、違う種類のリージョンもあります。Rectanglesを参照してください。
• Setting Mark: | マークをセットするコマンド。 | |
• Marking Objects: | テキスト単位の周辺にリージョンをセットするコマンド。 | |
• Using Region: | リージョンの内容を操作する方法の要約。 | |
• Mark Ring: | 後で戻れるように保存された以前のマーク位置。 | |
• Global Mark Ring: | さまざまなバッファーの以前のマーク位置。 | |
• Shift Selection: | シフトを押してカーソル移動キーを使う。 | |
• Disabled Transient Mark: | デフォルトでリージョンをハイライトせずにおく。 |