マークとリージョンのデフォルトの動作(マークを設定するとマークが有効になり、リージョンがハイライトされる)は、「一時マークモード」と呼ばれます。これは、インタラクティブセッションでデフォルトで有効になっているマイナーモードです。M-x transient-mark-mode または Options メニューの ‘Highlight Active Region’ メニュー項目で切り替えることができます。これをオフにすると、Emacs は別の動作モードに切り替わります:
この問題に対する一般的な対処法は、マークを設定し、場所を忘れる前にすぐに使用することです。また、点とマークの位置を入れ替える C-x C-x を使用して、マークの位置を確認することもできます(マークの設定 を参照)。
query-replace)
は、マークが有効な場合にリージョン内で置換を行います。一時マークモードがオフの場合、これらは常にポイントからバッファの末尾までを対象に動作します。このように動作するコマンドについては、それぞれのドキュメントに記載されています。
Transient Markモードがオフの状態では、C-SPC C-SPCまたはC-u C-x C-xを使用して一時的に有効にできます。
マークを地点(単純な C-SPC など)に設定し、マークが解除されるまで一度だけトランジェントマークモードを有効にします。(これは厳密には独立したコマンドではなく、C-SPC コマンドを2回使用することになります。)
交換ポイントとマークを設定し、マークを有効にして、次にマークが無効になるまで一時的にトランジェントマークモードを有効にします。(これはプレフィックス引数を伴う
C-x C-x コマンド、exchange-point-and-mark です。)
これらのコマンドはマークを設定または有効化し、マークが解除されるまでのみ一時マークモードを有効にします。これらのコマンドを利用したいと思う理由の一つとして、一時マークモードがオフの状態では、一部のコマンドがリージョンではなくバッファ全体に対して動作することが挙げられます。一時マークモードを一時的に有効にすることで、これらのコマンドをリージョンに対して使用できるようになります。
マウスで領域を指定したり(マークの設定を参照)、Shift選択で領域を指定したり(Shift選択を参照)すると、同様に一時的に一時マークモードが有効になり、その領域がハイライトされます。