Como copiar texto sem perder a seleção?

11

Quando copio algum texto selecionado ( kill-ring-savecom M-w), perco minha seleção automaticamente. Eu tentei com o Transient Mark Mode sem sorte. (Note que eu estou não usar o Modo CUA).

NVaughan
fonte
Inicialmente, pensei que fosse sobre a seleção X (nesse caso, a variável select-active-regionsseria relevante), mas parece ser sobre destacar a região.
YoungFrog

Respostas:

11

A melhor solução é usar C-x C-xpara reativar a marca. Mas se você realmente deseja manter a seleção, pode usar:

(defun copy-keep-highlight (beg end)
  (interactive "r")
  (prog1 (kill-ring-save beg end)
    (setq deactivate-mark nil)))
djangoliv
fonte
11
Eu sugiro usar um conselho como este:(defun yf/no-deactivate-mark (&rest _) (setq deactivate-mark nil)) (advice-addadvice-add 'kill-ring-save :after #'yf/no-deactivate-mark)
YoungFrog
@djangoliv, obrigado. O que é isso prog1?
NVaughan
@YoungFrog, obrigado, mas seu código não funciona, pois há um erro de sintaxe em algum lugar.
precisa saber é o seguinte
2
Ah, erro de copiar e colar: advice-adddeve estar lá apenas uma vez. Não consigo editar o comentário.
YoungFrog
11
@NVaughan aqui uma boa explicação: emacs.stackexchange.com/questions/5829/…
djangoliv