Comment copier du texte sans perdre la sélection?


11

Lorsque je copie du texte sélectionné ( kill-ring-saveavec M-w), je perds automatiquement ma sélection. J'ai essayé avec Transient Mark Mode sans succès. (Notez que je n'utilise pas le mode CUA.)


J'ai d'abord pensé qu'il s'agissait de la sélection X (auquel cas la variable select-active-regionsserait pertinente), mais il semble s'agir de mettre en évidence la région.
YoungFrog

Réponses:


11

La meilleure solution consiste C-x C-xà réactiver la marque. Mais si vous voulez vraiment garder la sélection, vous pouvez utiliser:

(defun copy-keep-highlight (beg end)
  (interactive "r")
  (prog1 (kill-ring-save beg end)
    (setq deactivate-mark nil)))

1
Je suggère d'utiliser un conseil comme celui-ci:(defun yf/no-deactivate-mark (&rest _) (setq deactivate-mark nil)) (advice-addadvice-add 'kill-ring-save :after #'yf/no-deactivate-mark)
YoungFrog

@djangoliv, merci. Qu'est-ce que c'est prog1?
NVaughan

@YoungFrog, merci, mais votre code ne fonctionne pas car il contient une erreur de syntaxe quelque part.
NVaughan

2
Ah, erreur de copier-coller: advice-addne devrait être là qu'une seule fois. Je ne peux pas modifier le commentaire.
YoungFrog

1
@NVaughan ici une bonne explication: emacs.stackexchange.com/questions/5829/…
djangoliv
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.