13.1 マークのセット

マークをセットするためのコマンドがいくつかあります:

C-SPC

ポイント位置にマークをセットしてアクティブにします(set-mark-command)。

C-@

同じです。

C-x C-x

ポイント位置にマークをセットしてアクティブにしてから、以前のマークがあった位置にポイントを移動します(exchange-point-and-mark)。

Drag-mouse-1

ドラッグしたテキストの周りにポイントとマークをセットします。

mouse-3

ポイント位置にマークをセットしてから、クリックした場所にポイントを移動します(mouse-save-then-kill)。

シフトを押したカーソル移動キー

マークが非アクティブなら、ポイント位置にマークをセットしてポイントを移動します。シフト選択を参照してください。

The most common way to set the mark is with C-SPC (set-mark-command)5. This sets the mark where point is, and activates it. You can then move point away, leaving the mark behind. If the mark is already set where point is, this command doesn’t set another mark, but only activates the existing mark.

たとえばバッファーの一部を大文字に変換したいとします。これを行うには対象のテキストの一方の端に移動して、C-SPCをタイプし、対象のテキストがハイライトされるまでポイントを移動します。そしてC-x C-u (upcase-region)をタイプすると、リージョンのテキストが大文字に変換されて、マークが非アクティブになります。

マークがアクティブなときに非アクティブにしたいときは、C-gをタイプします(中止と中断を参照してください)。リージョンにたいして操作を行うほとんどのコマンドは、上記の例のC-x C-uのように、自動的にマークを非アクティブにします。

リージョンにたいしての操作は行わず、バッファーの位置を覚えておくためにマークをセット(C-SPC C-SPCとタイプ)して、後でそこに戻る(C-u C-SPCとタイプ)こともできます。詳細については、マークリングを参照してください。

コマンドC-x C-x (exchange-point-and-mark)は、ポイントとマークの位置を交換します。ポイントの位置に問題はないが、リージョンのもう一方の端にポイントを移動したいときC-x C-xは便利です。2回目のC-x C-xで、マークを新しいポイント位置にマークをセットしてから、ポイントを元の位置に戻すことができます。このコマンドはマークが非アクティブのとき、最初にマークをアクティブにします。これはマークが最後にどこにセットされたかを明確にするために、リージョンをハイライトするためです。しかしプレフィクス引数とともに呼び出せば、マークは非アクティブのままでリージョンもハイライトされません。これを使えばC-u C-SPCと同様の方法で、マークの位置にジャンプできます。

マウスでマークをセットすることもできます。マウスの左ボタン(down-mouse-1)をクリックしてから、テキスト範囲をドラッグすると、最初にマウスボタンを押した位置にマークがセットされ、マウスボタンを話した位置にポイントが置かれます。かわりにマウスの右ボタン(mouse-3)をクリックすれば、ポイントのある位置にマークがセットされ、クリックした位置にポイントが移動します。これらのマウスコマンドに関する詳細な説明は、編集のためのマウスコマンドを参照してください。

最後にシフトキーを押しながらカーソルを移動するコマンド(S-RIGHTS-C-fS-C-nなど)でマークをセットできます。これはシフト選択(shift-selection)と呼ばれ、以前にシフト選択やマウスコマンドでセットされたアクティブなマークがないときに限り、ポイントを移動する前の位置にマークをセットします。マウスコマンドやシフト選択によるマークのセットは、通常のマークとは少し異なります。続けてシフトを押さないカーソル移動コマンドを実行するにより、マークは自動的に非アクティブになります。詳細は、シフト選択を参照してください。

C-y (yank)のようなテキストを挿入するコマンドの多くは、挿入されたテキストの先頭に、非アクティブなマークをセットします。これにより簡単にその位置に戻ることができます(マークリングを参照してください)。コマンドがこれを行っていることは、エコーエリアに‘Mark set’が表示されることで見分けることができます。

Xではアクティブなリージョンが変化するたびに、Emacsはリージョンのテキストをプライマリー選択(primary selection)に保存します。これによりmouse-2をクリックして、他のXアプリケーションへテキストを挿入することができるようになります。他のウィンドウアプリケーションにたいするカットアンドペーストを参照してください。


Footnotes

(5)

There is no C-SPC character in ASCII; usually, typing C-SPC on a text terminal gives the character C-@. This key is also bound to set-mark-command, so unless you are unlucky enough to have a text terminal that behaves differently, you might as well think of C-@ as C-SPC.

This page has generated for branch:work/emacs-30_69b16e5c63840479270d32f58daea923fe725b90, commit:5e3f74b56ff47b5bcef2526c70f53f749bbd45f6 to check Japanese translation.