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.)


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

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
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.