リージョンを選択したりコピーしたりするマウスコマンドは、
xterm
プログラムとほぼ互換です。
Emacsと他のXクライアントプログラムとのあいだでコピーするには、
Xのマウスコマンドと同じものを使えます。
これらのマウスコマンドでリージョンを選択して、 そのあとすぐにファンクションキー<DELETE>を打つと、 選択したリージョンを削除します。 ファンクションキー<BACKSPACE>やASCII文字<DEL>は、 これを行いません。 マウスコマンドと<DELETE>のあいだに別のキーを打ったときも、 これを行いません。
mouse-set-point
)。
通常、左ボタン。
mouse-set-region
)。
リージョンの始めと終りの両方をこのコマンド1つで指定できる。
ドラッグ中に、ウィンドウの上下からマウスが出ると、
マウスがウィンドウ内に戻ってくるまで、
ウィンドウを一定の割合でスクロールする。
こうして、画面全体に入りきらないリージョンでも選択できる。
一度にスクロールする行数は、
マウスがウィンドウの縁からどの程度離れているかに依存する。
変数mouse-scroll-min-lines
には最小の行数を指定する。
mouse-yank-at-click
)。
通常、中ボタン。
mouse-save-then-kill
は、
クリックした場所とリージョンの状態に依存して、
いくつかの機能がある。
もっとも基本的な場合は、ある場所でMouse-1をクリックしてから、 別の場所でMouse-3をクリックしたとき。 こうすると、これらの2点のあいだにあるテキストをリージョンとして選択する。 さらに、新しいリージョンをキルリングへもコピーするので、 別の場所へそれをコピーできる。
テキスト上でMouse-1をクリックしてから、 スクロールバーでスクロールしたあとでMouse-3をクリックすると、 スクロールする以前の(Mouse-1でクリックした)場所を覚えていて、 そこをリージョンの片方の端点として使う。 こうすると、画面に入りきらないリージョンでも選択できる。
より一般的には、強調表示されたリージョンがないならば、 Mouse-3は、ポイントとクリックした位置のあいだのテキストを リージョンとして選択する。 これは、ポイントがあった位置にマークを設定し、 クリックした位置にポイントを移動することで行う。
強調表示されたリージョンがある場合、あるいは、 ボタン1をドラッグしてリージョンを設定してある場合、 Mouse-3はクリックした場所に近い側のリージョンの端を クリック位置に移動して調整する。 また、調整したリージョンのテキストは、 キルリング内の古いリージョンのテキストを置き換える。
もともとMouse-1をダブルクリックあるいはトリプルクリックして、 リージョンを単語や行単位で設定した場合には、 Mouse-3によるリージョンの調整も単語や行単位で行われる。
連続して2度同じ場所でMouse-3を使うと、
すでに選択してあるリージョンをキルする。
開き括弧や閉じ括弧の構文の文字をクリックすると、
その文字で始まり/終る括弧で囲まれた塊(sexp)にリージョンを設定する。
文字列区切りの構文(Cのシングルクォートやダブルクォート)の文字をクリック
すると、(その文字が文字列の始まりか終りかを発見的方法を使って決めて)
文字列定数を囲むリージョンを設定する。
マウスを使ったもっとも単純なテキストのキル方法は、 片方の端でMouse-1を押し、もう一方の端でMouse-3を2回押すことです。 See Killing。 バッファから削除しないでキルリングにテキストをコピーするには、 Mouse-3を一度だけ押します。 あるいは、Mouse-1でテキストを横断してドラッグするだけです。 そうすると、どこででも、それをヤンクすることでコピーできます。
キルしたりコピーしたりしたテキストをどこか別の場所にヤンクするには、
マウスをその場所に移動してMouse-2を押します。
See Yanking。
しかし、mouse-yank-at-point
がnil
以外ならば、
Mouse-2はポイント位置にヤンクします。
つまり、ウィンドウのどこをクリックしたのか、あるいは、
フレームのどのウィンドウをクリックしたのかは問題ではありません。
デフォルトの値はnil
です。
この変数は二次セレクションのヤンクにも影響します。
別のXのウィンドウへテキストをコピーするには、 その部分をキルするかキルリングに保存します。 Xの管理下では、一次セレクションも設定します。 そのあとで、別のXのウィンドウで動いているプログラムの『ペースト』や 『ヤンク』コマンドを使って、セレクションからテキストを挿入します。
別のXのウィンドウからテキストをコピーするには、 そのウィンドウで動いているプログラムの『カット』や『コピー』コマンドを 使って目的のテキストをセレクションにします。 そのあとで、C-yやMouse-2を使ってEmacsにヤンクします。
これらのカット/ペーストコマンドはMS-Windows上でも動作します。
Emacsがテキストをキルリングに入れたり、
キルリングのテキストを先頭へ巡回するとき、
EmacsはXサーバーの一次セレクションに設定します。
このために、別のXクライアントがテキストを参照できるのです。
テキストが十分に短い場合にのみ
(x-cut-buffer-max
は最大文字数を指定する)、
Emacsはカットバッファにもテキストを収めます。
長い文字列をカットバッファへ置くには時間がかかります。
キルリングの始めのテキストをヤンクするコマンドは、 実際には、別のプログラムの一次セレクションをまず調べ、 そのあとで、カットバッファのテキストを調べます。 どちらにもヤンクするテキストがなれば、キルリングの内容を使います。