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)))
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.
select-active-regions
relevant), aber es scheint darum zu gehen, die Region hervorzuheben.Antworten:
Die beste Lösung ist die
C-x C-x
Reaktivierung der Marke. Aber wenn Sie die Auswahl wirklich behalten möchten, können Sie Folgendes verwenden:quelle
(defun yf/no-deactivate-mark (&rest _) (setq deactivate-mark nil)) (advice-addadvice-add 'kill-ring-save :after #'yf/no-deactivate-mark)
prog1
?advice-add
sollte nur einmal vorhanden sein. Ich kann den Kommentar nicht bearbeiten.