¿Cómo copiar texto sin perder la selección?

11

Cuando copio un texto seleccionado ( kill-ring-savecon M-w), automáticamente pierdo mi selección. He intentado con el modo Marca transitoria sin suerte. (Tenga en cuenta que estoy no utilizar el modo CUA).

NVaughan
fuente
Inicialmente pensé que se trataba de la selección X (en cuyo caso la variable select-active-regionssería relevante), pero parece que se trata de resaltar la región.
YoungFrog

Respuestas:

11

La mejor solución es usar C-x C-xpara reactivar la marca. Pero si realmente desea conservar la selección, puede usar:

(defun copy-keep-highlight (beg end)
  (interactive "r")
  (prog1 (kill-ring-save beg end)
    (setq deactivate-mark nil)))
djangoliv
fuente
1
Sugeriría usar un consejo 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, gracias. ¿Qué es esto prog1?
NVaughan
@YoungFrog, gracias, pero su código no funciona porque tiene un error de sintaxis en alguna parte.
NVaughan
2
Ah, copie el error de pegar: advice-adddebería estar allí solo una vez. No puedo editar el comentario.
YoungFrog
1
@NVaughan aquí una buena explicación: emacs.stackexchange.com/questions/5829/…
djangoliv