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

23.1 編集用のマウスコマンド

mouse-1

ポイントをクリックした位置に移動します (mouse-set-point)。

Drag-mouse-1

選択したテキスト周辺をドラッグでアクティブにし、テキストをプライマリ選択範囲(mouse-set-region)に配置します。

S-mouse-1

既に選択済みの領域を調整します。

mouse-2

ポイントをクリックした位置に移動し、そこにプライマリ選択の内容を挿入します (mouse-yank-primary)。

mouse-3

リージョンがアクティブな場合は、リージョンの近い方の端をクリック位置に移動します。そうでない場合は、markをpointの現在の値に、pointをクリック位置に設定します。得られたリージョンをキルリングに保存し、2回目のクリックでそれをキルします (mouse-save-then-kill)。

C-M-mouse-1

ドラッグで選択したテキストの周囲の矩形領域をアクティブにします。矩形を参照してください。

最も基本的なマウスコマンドは mouse-set-point で、ウィンドウのテキスト領域で左マウスボタン mouse-1 をクリックすることで実行されます。これにより、ポイントがクリックした位置に移動します。そのウィンドウが選択されていなかった場合は、選択状態になります。また、mouse-1 をダブルクリックすることで領域をアクティブにすることもできます(単語および行のマウスコマンドを参照)。

通常、クリックしたフレームが選択済みでなかった場合、ウィンドウの選択とカーソルの設定に加えて、そのフレームが選択済みとなります。X Window Systemでは、変数 x-mouse-click-focus-ignore-position を t に設定することで、この動作を変更できます。この場合、未選択のフレームを最初にクリックすると、それ以外の操作は行われず単にそのフレームが選択されるだけとなり、再度クリックするとウィンドウが選択され、カーソル位置が設定されます。

mouse-1 を押したままテキストの範囲上でマウスをドラッグすると、そのテキスト周辺のリージョン (mouse-set-region) がアクティブになり、マウスボタンを押し始めた位置にマークが、ボタンを離した位置にポイントが配置されます(マークとリージョン を参照)。さらに、そのリージョン内のテキストがプライマリ選択範囲となります(他のウィンドウアプリケーションでの切り取りと貼り付け を参照)。

変数 mouse-drag-copy-region を nil 以外の値に変更すると、テキストの範囲をマウスでドラッグした際にもそのテキストがキルリングに追加されます。デフォルトは nil です。

この変数が non-empty の場合、リージョンが空でない場合にのみキルリングにコピーされます。例えば、1文字の半分未満の範囲をマウスでドラッグした場合、通常はキルリングに空文字列が格納されますが、non-empty を指定すると、この短いマウスドラッグはキルリングに影響を与えません。

Mouse-Shift-Adjust マイナーモードを有効にすると、Shift 修飾キー (S-down-mouse-1) を押しながらマウスの左ボタンをクリックすることで、すでに選択されている領域を調整(クリックした位置に応じて拡大または縮小)できます。

ドラッグ中にマウスをウィンドウの上端または下端から離すと、マウスを再びウィンドウ内に戻すまで、ウィンドウが一定の速度でスクロールします。これにより、画面に収まりきらない領域を選択できます。1ステップあたりにスクロールされる行数は、マウスがウィンドウの端からどれだけ離れたかによって異なります。変数 mouse-scroll-min-lines で最小ステップサイズを指定します。

オプション mouse-drag-mode-line-buffer を有効にし、ウィンドウシステムがファイルのドラッグ操作をサポートしている場合、モードラインのバッファ名部分でマウスをドラッグすると、そのバッファのファイルが別のプログラムやフレームにドラッグされます。

マウスの中ボタン mouse-2 をクリックすると、ポイントがクリックした位置に移動し、プライマリセレクションの内容 (mouse-yank-primary) が挿入されます。他のウィンドウアプリケーションでの切り取りと貼り付け を参照してください。この動作は、他の X アプリケーションと同様です。あるいは、mouse-2 を mouse-yank-at-click に再バインドすることで、クリックした位置でヤンクを行うこともできます。

変数 mouse-yank-at-point を nil 以外の値に変更すると、mouse-2 はポイントを移動させません。どこでクリックしたか、あるいはフレームのどのウィンドウをクリックしたかにかかわらず、ポイントにテキストを挿入します。この変数は mouse-yank-primary と mouse-yank-at-click の両方に影響します。

マウスの右ボタン mouse-3 をクリックすると、コマンド mouse-save-then-kill が実行されます。これにより、クリックした位置や領域の状態に応じて、いくつかの処理が行われます:

mouse-save-then-kill コマンドは、変数 mouse-drag-copy-region(前述)にも従います。値が nil 以外の場合、コマンドがアクティブ領域を設定または調整するたびに、その領域内のテキストもキルリングに追加されます。最新のキルリングエントリが同様の方法で追加されていた場合は、新しいエントリを作成するのではなく、そのエントリが置き換えられます。

上述のマウスコマンドのいずれかでリージョンを設定すると、通常の解除方法に加えて、その後にシフトキーを押さずにカーソルを移動させるコマンドを実行するたびに、マークが解除されます。シフト選択を参照してください。

マウスによっては、スクロールに使用できる「ホイール」を備えているものがあります。Emacsでは、ほとんどのグラフィカルディスプレイにおいて、デフォルトでマウスホイールによるウィンドウのスクロールをサポートしています。この機能を切り替えるには、M-x mouse-wheel-mode を使用してください。変数 mouse-wheel-follow-mouse と mouse-wheel-scroll-amount は、バッファをどこで、どの程度スクロールするかを決定します。変数 mouse-wheel-progressive-speed は、スクロール速度をホイールの移動速度に連動させるかどうかを決定します。このモードではフォントサイズの拡大・縮小もサポートしており、デフォルトでは Ctrl 修飾キーによるスクロールにバインドされています。このモードが有効な場合、マウスホイールは wheel-up や wheel-down といった特殊なイベントを発生させます。(一部の古いシステムでは、これらを mouse-4 や mouse-5 として報告します。)マウスに水平スクロールホイールが搭載されている場合は、wheel-left および wheel-right イベントも発生します。

Emacsでは、Shift 修飾子による水平スクロールもサポートしています。水平スクロールを開始する前に数値のプレフィックス引数(例:M-5)を入力すると、ユーザーオプション mouse-wheel-scroll-amount-horizontal で定義されたステップ値が変更されます。

マウスホイールを傾けられる場合や、タッチパッドが対応している場合は、変数 mouse-wheel-tilt-scroll を nil 以外の値に設定することで、水平スクロールを有効にすることもできます。デフォルトでは、マウスホイールを傾けると、ウィンドウの表示が傾けた方向に沿って水平にスクロールします。例えば、右に傾けるとウィンドウが右にスクロールし、ウィンドウ内に表示されるテキストが水平方向に左へ移動します。水平スクロールの方向を逆にしたい場合は、変数 mouse-wheel-flip-direction を nil 以外の値に設定してください。

画像モードで画像の上にマウスポインタがある状態で、画像ファイルの表示を参照してください。Ctrl修飾子を付けてマウスホイールをスクロールするとマウスポインタ下の画像が拡大縮小され、Shift修飾子を付けてマウスホイールをスクロールすると画像が水平方向にスクロールします。