Next: Transient Mark, Up: Mark
マークを設定するコマンドはつぎのとおりです。
set-mark-command
)。
exchange-point-and-mark
)。
mouse-save-then-kill
)。
たとえば、コマンドC-x C-u(upcase-region
)を使って、
バッファのある部分をすべて大文字に変換したいとしましょう。
このコマンドは、リージョン中のテキストに作用します。
まず、大文字に変換したいテキストの先頭に移動し、
C-<SPC>と打ってマークを設定します。
続いてテキストの終端に移動してC-x C-uと打ちます。
あるいは、先にテキストの終端にマークを設定して、
テキストの始点に移動してからC-x C-uと打ちます。
マークを設定するもっとも一般的な方法は、
C-<SPC>コマンド(set-mark-command
)を使うことです。
このコマンドは、ポイント位置にマークを設定します。
そうすれば、マークを置いたままで、ポイントを移動できます。
マウスを使ったマークの設定方法は2つあります。 テキストのある範囲でマウスボタン1をドラッグします。 マウスボタンを離した位置にポイントが置かれ、 ドラッグを開始した箇所にマークが設定されます。 あるいは、マウスボタン3をクリックします。 これは(C-<SPC>と同様に)ポイント位置にマークを設定してから、 ポイントを(Mouse-1のように)移動します。 両者は、マークを設定するだけでなく、リージョンをキルリングにコピーします。 これは、他のウィンドウアプリケーションの動作と一貫性を持たせるためです。 キルリングを変更したくなければ、 キーボードコマンドを使ってマークを設定する必要があります。 See Mouse Commands。
普通の端末にはカーソルは1つしかありませんから、
Emacsにはマークを置いた位置を表示する術はありません。
ユーザーがその位置を覚えておく必要があります。
この問題に対する通常の解決方法は、マークを設定したら、
忘れてしまうまえにただちにそれを利用することです。
あるいは、C-x C-x(exchange-point-and-mark
)コマンドを使って、
マーク位置を確認します。
このコマンドは、ポイント位置にマークを置き、
マークのあった位置にポイントを置きます。
リージョンの範囲は変わらずに、
カーソルとポイントは以前マークのあった箇所に移動します。
暫定マーク(transient-mark)モードでは、
このコマンドはマークを再度活性にします。
ポイント位置を変えずに、 リージョンのもう一方の端(マークの位置)を移動させたい場合にも、 C-x C-xは便利な方法です。 まず、C-x C-xでポイントをリージョンの一方の端に移して、 その端を移動します。 必要ならば、もう1度C-x C-xを使って新しい位置にマークを置き、 ポイントをもとの位置に戻します。
ASCIIには、C-<SPC>という文字は存在しません。
<CTRL>を押し下げながら<SPC>を打つと、
ほとんどの普通の端末では文字C-@になります。
このキーは、実際にset-mark-command
にバインドしてあります。
ただし、幸運にもC-<SPC>でC-@を送出する端末を
使っているのであれば、
C-@をC-<SPC>とみなしてかまいません。
Xウィンドウシステムでは、C-<SPC>は実際には
別の文字として認識されますが、
そのバインドはやはりset-mark-command
です。