A execução de kill-ring-save
não desativa a marca diretamente, mas apenas define a variável deactivate-mark
to t
para que a desativação seja feita depois . Para evitar isso, redefina deactivate-mark
para nil
antes da desativação.
(defun kill-ring-save-keep-highlight (beg end)
"Keep the region active after the kill"
(interactive "r")
(prog1 (kill-ring-save beg end)
(setq deactivate-mark nil)))
(global-set-key (kbd "<C-insert>") 'kill-ring-save-keep-highlight)