2010-12-14 54 views
1

J'utilise shell dans ma version 22.2.1 d'emacs (repos stable debian) et il y a une sorte de codage cassé. Par exemple, si j'exécutez la commande `ls, la sortie estCodage dans la coque Emacs?

[0m[01;34margouml-0.30.2[0m 

pas "argouml-0.30.2" comme d'habitude. J'ai essayé les commandes C-x RET p utf-8 et ainsi de suite mais sans aucun effet. J'ai correctement généré des locales utf-8 et partout ailleurs dans le codage emacs fonctionne parfaitement. Est-ce que quelqu'un sait ce qui ne va pas avec?

Répondre

3

Votre type de terminal dans le shell est incorrectement défini; ces échappements sont pour les couleurs, mais le shell emacs ne les supporte pas. Essayez plutôt M-x term pour un meilleur support.

+0

Merci. Ça marche. Est-il possible de le faire fonctionner (par exemple, définir bash comme un terminal par défaut dans emacs)? –

+0

http://superuser.com/questions/201376/strange-characters-in-emacs-shell-buffer a quelques solutions. (ceci devrait probablement avoir été migré là et fermé comme un doublon ...) – geoffspear

+1

@Garret: Juste pour clarifier la différence: Un shell, (bash, tcsh, etc.), à son niveau le plus basique, exécute des commandes. Un terminal (xterm, shell ou terme courant emacs, terminal OS X, etc.) affiche l'entrée et la sortie dans un shell. Le terminal est ce qui interprète les codes d'échappement pour changer les couleurs dans l'invite du shell. Le problème que vous avez est avec le terminal, pas le shell. – KeithB

1

Vous pouvez également essayer M-x ansi-term, ou même télécharger Multi terme et essayer aussi.

Liens: