Next: Disabled Transient Mark, Previous: Global Mark Ring, Up: Mark [Contents][Index]
シフトキーを押しながらカーソル移動コマンドをタイプすると、ポイントを移動する前の位置にマークをセットするので、リージョンが元のポイント位置から新しいポイント位置に拡張されます。この機能はシフト選択(shift-selection)と呼ばれます。これは他のエディターでテキストを選択する方法と似ています。
シフト選択によるマークのセットは、これまでの説明とは少し異なる振る舞いをします。最初に、マークを非アクティブにする通常の方法(バッファーのテキストを変更したりC-gをタイプするなど)に加え、シフトキーを押さない(unshifted)カーソル移動コマンドでも、マークが非アクティブになります。次に、連続するシフトキーを押した(shifted)カーソル移動コマンドでは、マークの更新はされません。つまりシフトキーを押しながらカーソル移動コマンドを繰り返すと、リージョンは継続的に変更されます。
シフト選択は、シフトキーを押したカーソル移動キーが、別のコマンドにバインドされていない場合のみ動作します(Customizationを参照してください)。たとえばS-C-fを他のコマンドにバインドしていると、S-C-fはシフト選択バージョンのC-f
(forward-char
)ではなく、バインドされたコマンドを実行します。
マウスコマンドによるマークのセットも、シフト選択によるマークのセットと同様です(Setting Markを参照してください)。たとえばマウスをドラッグしてリージョンを指定すると、シフトキーを押したカーソル移動コマンドを使って、そのリージョンの拡張を続けることができます。どちらのケースも、シフトキーを押さないカーソル移動コマンドで、マークが非アクティブになります。
シフト選択をオフにするには、shift-select-mode
をnil
にセットしてください。これをセットしても、マウスコマンドによるマークのセッティングは無効になりません。