Lorsque je copie du texte non ascii à partir de Windows et que je le colle dans Emacs, il apparaît comme une séquence octale. Par exemple, si je colle ä dans Emacs, il apparaît comme \ 344.
Je pourrais taper Cq 344 pour récupérer le ä dans Emacs. C'est ennuyeux, mais c'est tolérable s'il n'y a qu'un seul personnage. Mais s'il y a beaucoup de caractères transformés en séquences d'échappement octales, il serait pratique d'exécuter une commande sur une région pour tout convertir à l'intérieur. Existe-t-il déjà une telle commande? Sinon, comment écririez-vous une fonction pour le faire?
[J'ai défini mon système de codage par défaut sur utf-8 dans mon fichier .emacs et j'utilise le même fichier .emacs sous Windows et Linux. Mais le problème ne se produit que lors de la copie d'une application Windows vers Emacs. La copie d'Emacs vers une autre application Windows fonctionne correctement.]
la source
revert-buffer-with-coding-system
(voir sa documentation). Emacs montre les caractères de cette façon parce que vous les avez copiés à partir d'un environnement qui était dans un système de codage différent (en supposant que l'ANSI avec des caractères ASCII élevés utilisés pour rendre le latin avec des signes diacritiques), mais votre tampon doit utiliser quelque chose comme UTF-8 (pour quels caractères ASCII avec des bits élevés définis n'ont aucune signification, c'est-à-dire qu'ils sont invalides)set-clipboard-coding-system
. EssayezC-h a coding-system
de voir quelles autres fonctions de ce groupe sont disponibles.emacs -Q
et si vous voyez le problème déjà là,M-x report-emacs-bug
.insert-file-literally
(et il était trop tard pour annuler ou supprimer / réinsérer le fichier).Réponses:
Il s'avère que la partie incriminée de mon fichier .emacs était
(set-selection-coding-system 'utf-8)
. Une fois que j'ai supprimé cette ligne, Emacs s'est comporté comme prévu.la source
Une fois cela fait:
de misc-utils.el à https://launchpad.net/sx-emacs-werkstatt
la source