Wie kopiere ich Text, ohne die Auswahl zu verlieren?

11

Wenn ich einen ausgewählten Text ( kill-ring-savemit M-w) kopiere , verliere ich automatisch meine Auswahl. Ich habe es mit Transient Mark Mode ohne Glück versucht. (Beachten Sie, dass ich den CUA-Modus nicht verwende.)

NVaughan
quelle
Anfangs dachte ich, es gehe um die X-Auswahl (in diesem Fall wäre die Variable select-active-regionsrelevant), aber es scheint darum zu gehen, die Region hervorzuheben.
YoungFrog

Antworten:

11

Die beste Lösung ist die C-x C-xReaktivierung der Marke. Aber wenn Sie die Auswahl wirklich behalten möchten, können Sie Folgendes verwenden:

(defun copy-keep-highlight (beg end)
  (interactive "r")
  (prog1 (kill-ring-save beg end)
    (setq deactivate-mark nil)))
djangoliv
quelle
1
Ich würde vorschlagen, einen Ratschlag wie diesen zu verwenden:(defun yf/no-deactivate-mark (&rest _) (setq deactivate-mark nil)) (advice-addadvice-add 'kill-ring-save :after #'yf/no-deactivate-mark)
YoungFrog
@ Djangoliv, danke. Was ist das prog1?
NVaughan
@YoungFrog, danke, aber dein Code funktioniert nicht, da er irgendwo einen Syntaxfehler hat.
NVaughan
2
Ah, Kopier- und Einfügefehler: advice-addsollte nur einmal vorhanden sein. Ich kann den Kommentar nicht bearbeiten.
YoungFrog
1
@NVaughan hier eine gute Erklärung: emacs.stackexchange.com/questions/5829/…
Djangoliv