L'utilisation de Crtl + Backspace ou Ctrl + Suppr ajoute le texte supprimé au kill ring.
Comment puis-je empêcher que cela se produise? Je n'ai pas besoin d'envoyer chaque élément de texte au kill ring lorsqu'il est supprimé.
Question secondaire: quel est l'objectif de ce paramètre par défaut? :)
undo
. Une conjecture sauvage, cependant.Réponses:
Selon la documentation:
Maintenant, parcourons le code source:
Ensuite, à l'intérieur de la documentation de la
kill-region
fonction, nous trouvons:Maintenant, si vous voulez aller plus loin, voici une fonction que vous pouvez utiliser pour supprimer sans copier dans kill-ring:
Avec l'aimable autorisation d' ErgoEmacs
la source
Depuis Emacs 24, sans aucune configuration, vous pouvez supprimer n'importe quel texte sans l'ajouter au kill ring en le sélectionnant puis en appuyant sur Backspaceou Delete. Lorsque la marque est active, ces touches suppriment la région au lieu de simplement supprimer le caractère avant / après le curseur.
Autrement dit, déplacez-vous à une extrémité du texte que vous souhaitez supprimer, appuyez sur Ctrl+ Space, passez à l'autre extrémité et appuyez sur Backspace(ou Delete) supprimez la région en surbrillance. Ou déplacez-vous à une extrémité, maintenez la Shifttouche enfoncée tout en utilisant les touches de déplacement pour aller à l'autre extrémité, puis appuyez sur Backspace.
la source
J'ai eu le même problème et je l'ai résolu plus facilement de cette façon:
L'appel
(backward-delete-char-untabify 1 nil)
indique à Emacs de supprimer un caractère en arrière (c'est le1
paramètre) et qu'il s'abstient de copier sur l'anneau (c'est lenil
paramètre). Vous avez besoin d'une fonction lambda (c'est-à-dire anonyme) car vous liez une fonction avec des paramètres à une clé.la source