マークとリージョンのデフォルト動作では、マークをアクティブにセットすると、リージョンがハイライトされます。これはTransient Markモードと呼ばれます。これはインタラクティブなセッションではデフォルトで有効になっているマイナーモードです。M-x transient-mark-mode、または‘Options’メニューの‘Highlight Active Region’で切り替えることができます。オフにすることによりEmacsの操作モードは変更されます。
マークをセットしたらどこにセットしたか忘れる前にすぐ使うというのが、この問題にたいする通常の解決策です。ポイントとマークの位置を交換するC-x C-xで、マークがどこかチェックすることもできます。
query-replace
)は、マークがアクティブのときはリージョンにたいして置換を行います。Transient
Markがオフだと、常にポイントからバッファーの最後までを処理します。このような方法で動作するコマンドは、コマンド自身のドキュメントにより識別できます。
Transient Markモードがオフのときは、C-SPC C-SPCまたはC-u C-x C-xを使って一時的にアクティブにすることができます。
ポイント位置にマークをセット(普通のC-SPCと同様)して、マークが非アクティブになるまでの間、1度だけTransient Markモードを有効にします(実際にはこれは独立したコマンドではなくC-SPCコマンドを2回行っています)。
ポイントとマークを交換してからマークをアクティブにして、次にマークが非アクティブになるまでの間、Transient
Markモードを一時的に有効にします(これはプレフィクス引数を指定したC-x C-x
(exchange-point-and-mark
)コマンドです)。
これらのコマンドはマークをセットまたはアクティブにして、マークが非アクティブになるまでの間Transient Markモードを有効にします。これらを使う1つの理由は、いくつかのコマンドはTransient Markモードがオフのとき、リージョンにたいしてではなくバッファー全体を処理するからです。Transient Markモードを一時的に有効にできれば、これらのコマンドをリージョンにたいして処理させることができます。
リージョンをマウス(マークのセットを参照してください)、またはシフト選択(シフト選択を参照してください)で指定したときも、一時的にTransient Markモードが有効になり、リージョンがハイライトされます。