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


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

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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.