Löschen Sie die sekundäre Auswahl ohne Maus


8

Gelegentlich, ohne es zu wollen, drücke ich irgendwie Tasten oder Maus, damit ich eine sekundäre Auswahl bekomme. Ich benutze nie die sekundäre Auswahl, deshalb möchte ich sie immer loswerden.

Wie kann ich die sekundäre Auswahl löschen, ohne die Maus zu verwenden?

Die Standardbindungen zum Festlegen der sekundären Auswahl werden von meinem Fenstermanager abgefangen, funktionieren also nicht in Emacs. Ich möchte diese Befehle auch nicht wirklich an andere Mausereignisse binden: Ich verwende meine Maus nur für ein paar Dinge, sie funktionieren einwandfrei und ich möchte sie nicht ändern. Ich kann nicht einfach Befehle wie "Maus-Start-Sekundär" ausführen: Wenn ich das versuche, lässt mich emacs wissen, dass sie an ein Ereignis gebunden sein müssen.


1
Funktioniert das : (delete-overlay secondary-mouse-overlay)?
Glucas

Antworten:


7

Sie sollten in der Lage sein, die sekundäre Auswahl zu löschen, indem Sie Folgendes auswerten:

(delete-overlay mouse-secondary-overlay)

Wenn Sie nie die sekundäre Auswahl erhalten möchten, können Sie die Standard-Mausereignisse einfach aufheben:

(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])

Ich bekomme: Der Wert von Symbols als Variable ist ungültig: Secondary-Mouse-Overlay
Croad Langshan

Entschuldigung - ich habe den Namen falsch verstanden. Jetzt reparieren.
Glucas

Ich kann dies nicht testen und als akzeptierte Antwort markieren, da ich nicht weiß, wie ich eine sekundäre Auswahl erhalten soll! Wenn ich etwas mit sekundärer Auswahl markiere, ist es immer ein Zufall, daher habe ich keine Ahnung, wie ich es mache. Die Gnome-Shell scheint alle Mauskombinationen abzufangen, die ich versuche ... (obwohl ich nicht sicher bin, was M-down-mouse-1 bedeutet)
Croad Langshan

Ich kann Alt und die linke Maustaste gedrückt halten, um Text mit der sekundären Auswahl auszuwählen, aber keine Ahnung von der Gnome-Interaktion.
Glucas

Eine andere Möglichkeit, die sekundäre Auswahl zu erhalten, ist Alt + Rechtsklick. Dadurch wird die sekundäre Auswahl von Punkt zu dem Punkt festgelegt, auf den Sie geklickt haben. Es gibt auch Bindungen für Alt + Doppel- oder Dreifachklick auf die verschiedenen Schaltflächen. Ich vermute, Ihr Fenstermanager stiehlt einige, aber nicht alle dieser Bindungen.
Glucas

3

Sie sagen, dass Sie niemals die sekundäre Auswahl verwenden möchten. In diesem Fall binden Sie einfach die Schlüssel, die standardmäßig an Befehle zur sekundären Auswahl gebunden sind, an Befehle, die Sie nützlicher finden. Oder lösen Sie sie, indem Sie sie binden nil. Dies sind diese Schlüssel:

  • M-mouse-1( mouse-start-secondarystandardmäßig)
  • M-drag-mouse-1( mouse-set-secondarystandardmäßig)
  • M-down-mouse-1( mouse-drag-secondarystandardmäßig)
  • M-mouse-2( mouse-yank-secondarystandardmäßig)
  • M-mouse-3( mouse-secondary-save-then-killstandardmäßig)

Zum Beispiel:

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

Wenn das Problem jedoch darin besteht, dass Ihr Fenstermanager diese Schlüssel stiehlt, sollten Sie verschiedene Schlüssel an diese Befehle binden. Fügen Sie beispielsweise Controljedem der Standardschlüssel einen Modifikator hinzu : C-M-mouse-1usw.

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

Wenn das Problem darin besteht, dass Sie die sekundäre Auswahl nicht mit der Maus bearbeiten möchten, können Sie stattdessen die Tastatur verwenden. Die Bibliothek second-sel.elkann bei dieser und anderen Möglichkeiten zur Verwendung der sekundären Auswahl hilfreich sein.

Zum Beispiel können Sie die sekundäre Auswahl jederzeit auf diese Weise interaktiv entfernen, wenn Sie sich secondary-dwiman C-M-y(zum Beispiel) binden :

  1. C-SPC - um eine leere aktive Region zu erstellen.
  2. C-1 C-M-y - um die sekundäre Auswahl in die Region zu verschieben (die leer ist).

Dies ist die Befehlszeichenfolge doc secondary-dwim, die second-sel.elstandardmäßig an Folgendes gebunden ist 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.
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.