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


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

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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.