マウスを使用せずに二次選択をクリア


8

時々、なんらかの意味でキーやマウスをマッシュして二次選択を取得します。私は二次選択を決して使用しないので、常にそれを取り除きたいです。

マウスを使用せずに2次選択をクリアするにはどうすればよいですか?

2次選択を設定するためのデフォルトのバインディングは、ウィンドウマネージャーによってインターセプトされるため、emacsでは機能しません。これらのコマンドを他のマウスイベントに再バインドしたくありません。マウスをいくつかの目的にのみ使用します。それらは正常に動作し、変更したくありません。mouse-start-secondaryのようなコマンドを単純に実行することはできません。これを実行すると、emacsはイベントにバインドする必要があることを知らせます。


1
これは機能します(delete-overlay secondary-mouse-overlay)か?
グルカ2015

回答:


7

次を評価することで、2次選択をクリアできるはずです。

(delete-overlay mouse-secondary-overlay)

二次選択を取得したくない場合は、デフォルトのマウスイベントのバインドを解除できると思います。

(global-unset-key [M-mouse-1])
(global-unset-key [M-drag-mouse-1])
(global-unset-key [M-down-mouse-1])
(global-unset-key [M-mouse-3])
(global-unset-key [M-mouse-2])

取得:変数が無効であるためのシンボルの値:セカンダリマウスオーバーレイ
Croad Langshan

すみません-名前が間違っています。今それを修正しています。
glucas

二次選択を取得する方法がわからないので、これをテストして承認済みの回答としてマークすることはできません。二次選択で何かをマークすると、それは常に偶然によるものなので、どうやってそれを行うのかわかりません。Gnomeのシェルは(私は確信して何をM-ダウンマウス-1の手段ではないですが)...私がしようと、すべてのマウスの組み合わせを傍受するようだ
Croad Langshan

Altキーを押しながらマウスの左ボタンを押すと、2番目の選択でテキストを選択できますが、Gnomeの相互作用についてはわかりません。
glucas

2番目の選択を取得する別の方法は、Alt +右マウスクリックです。これにより、2番目の選択がポイントからクリックした場所に設定されます。Alt +さまざまなボタンをダブルクリックまたはトリプルクリックするためのバインディングもあります。あなたのウィンドウマネージャがそれらのバインディングのすべてではなく一部を盗んでいるのではないかと思います。
グルカ2015年

3

あなたは二次選択を決して使いたくないと言います。その場合は、デフォルトで2次選択コマンドにバインドされているキーを、より便利なコマンドにバインドするだけです。または、それらをにバインドして、バインドを解除しますnil。これらはそれらのキーです:

  • M-mouse-1mouse-start-secondaryデフォルトでは)
  • M-drag-mouse-1mouse-set-secondaryデフォルトでは)
  • M-down-mouse-1mouse-drag-secondaryデフォルトでは)
  • M-mouse-2mouse-yank-secondaryデフォルトでは)
  • M-mouse-3mouse-secondary-save-then-killデフォルトでは)

例えば:

(global-set-key [M-mouse-1] 'a-handy-mouse-command)

一方、ウィンドウマネージャーがこれらのキーを盗むことが問題である場合は、それらのコマンドに異なるキーをバインドすることを検討してください。たとえばControl、デフォルトの各キーに修飾子を追加しますC-M-mouse-1

(global-set-key [C-M-mouse-1] 'mouse-start-secondary)

また、問題がマウスを使用して2次選択を操作したくない場合は、代わりにキーボードを使用できます。ライブラリーsecond-sel.elは、これと他の方法で2次選択を使用するのに役立ちます。

たとえば、(たとえば)にバインドするsecondary-dwimと、この方法でいつでもインタラクティブに2次選択を取り除くことができますC-M-y

  1. C-SPC -空のアクティブ領域を作成します。
  2. C-1 C-M-y -二次選択をリージョン(空)に移動します。

これはcommandのドキュメント文字列でsecondary-dwimsecond-sel.elデフォルトで次のようにバインドされますC-M-y

C-M-y runs the command secondary-dwim, which is an interactive
compiled Lisp function in `second-sel.el'.

It is bound to C-M-y, menu-bar edit secondary-dwim.

(secondary-dwim ARG)

Do-What-I-Mean with the secondary selection.
Prefix arg:

 None: Yank secondary.
 Zero: Select secondary as region.
 > 0:  Move secondary to region.
 < 0:  Swap region and secondary.

Details:

No prefix arg: Yank the secondary selection at point.  Move point to
the end of the inserted text.  Leave mark where it was.

Zero arg: Select the secondary selection and pop to its buffer.

Non-zero arg: Move the secondary selection to this buffer's region.

Negative arg: Also go to where the secondary selection was and select
it as the region.  That is, swap the region and the secondary
selection.
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.