GNU Emacs 32.0.50 (9008bf64c3) のマニュアルを PLaMo 翻訳で機械翻訳したものです。誤訳を含むことがあります。原文: https://www.gnu.org/software/emacs/manual/html_node/emacs/Shift-Selection.html ・ emacs-doc.conao3.com

13.6 シフト選択

Shiftキーを押しながらカーソル移動コマンドを入力すると、ポイントを移動させる前にマークが設定されるため、リージョンがポイントの元の位置から新しい位置まで広がります。この機能はシフト選択と呼ばれます。これは、他のエディタでテキストを選択する方法と同様です。

シフト選択によって設定されるマークは、前述の内容とは少し挙動が異なります。まず、通常のマーク解除方法(バッファテキストの変更や C-g の入力など)に加え、シフトなしのカーソル移動コマンドによってもマークが解除されます。次に、その後に続く シフトありのカーソル移動コマンドでは、マークが新たに設定されることはありません。したがって、シフトありのカーソル移動コマンドを連続して実行すると、リージョンが継続的に調整されます。

シフト選択が機能するのは、シフト付きカーソル移動キーに別のコマンドが既に割り当てられていない場合に限られます(カスタマイズを参照)。例えば、S-C-f を別のコマンドに割り当てている場合、S-C-f と入力すると C-f のシフト選択版(forward-char)ではなく、そのコマンドが実行されます。

マウスコマンドで設定したマークは、Shift選択で設定したマークと同様に動作します(マークの設定を参照)。例えば、マウスをドラッグして領域を指定した場合、Shiftキーを押しながらカーソル移動コマンドを使用することで、領域をさらに拡張し続けることができます。いずれの場合も、Shiftキーを押さずにカーソル移動コマンドを実行すると、マークは解除されます。

Shift選択を無効にするには、shift-select-mode を nil に設定してください。これにより、マウスコマンドによるマーク設定が無効になることはありません。shift-select-mode に permanent の値を設定すると、Shift変換されていないカーソル移動キーではマークが解除されなくなります。そのため、例えば以前のコマンドで設定された領域をShift選択で拡張でき、Shiftなしのカーソル移動キーでShift選択で設定された領域を拡張できるようになります。