Ich bin mit dem Standard-Mw zufrieden, bei dem (kill-ring-save)
die Hervorhebung der Region beim Ausführen des Befehls verloren geht. Ich möchte sein Verhalten nicht ändern, aber ich möchte erneut binden <C-insert>
, um eine ähnliche Aktion auszuführen und die Hervorhebung der Region beizubehalten.
Ich habe versucht, die Einstellung transient-mark-mode
direkt und über eine Funktion (un) einzustellen , aber die Region verliert immer noch ihre Hervorhebung.
Das Ausführen nur (kill-ring-save (region-beginning) (region-end))
in einer interaktiven Funktion funktioniert wie erwartet, d. H. es verliert die Hervorhebung.
Das Ausführen nur (exchange-point-and-mark) (exchange-point-and-mark)
in einer interaktiven Funktion funktioniert wie erwartet, d. H. Es hebt die Region erneut hervor und setzt / verlässt den Punkt an seiner ursprünglichen / korrekten Stelle.
Wenn ich sie jedoch alle in einer Funktion zusammenstelle, wird die Region nicht erneut hervorgehoben. Hier ist nicht funktionierende Funktion und Bindung:
(defun kill-ring-save-keep-highlight ()
(interactive)
(kill-ring-save (region-beginning) (region-end))
(exchange-point-and-mark) (exchange-point-and-mark)
)
(global-unset-key (kbd "<C-insert>"))
(global-set-key (kbd "<C-insert>") 'kill-ring-save-keep-highlight)
Verwenden von: GNU Emacs 23.1.1 in Ubuntu 10.04.3
activate-mark
, aber es funktioniert immer noch nicht. Ich habe sogar eine Clean-Slate-VM von Ubuntu 11.04 mit dem einzigen Code in.emacs
dieser Funktion installiert , aber sie aktiviert die Markierung immer noch nicht, aber das manuelle AnwendenC-x C-x
unmittelbar danachC-insert
setzt die Hervorhebung wieder her ...