31 votes

Quelque chose ne va pas avec la coquille Emacs

J'utilise Ubuntu8.10 et emacs-snapshot. L'exécution du mode shell sur emacs et l'entrée "ls" affiche les codes d'échappement:

capture d'écran

Comment puis-je obtenir le résultat attendu?

45voto

danielpoe Points 2858

Vous pouvez utiliser AnsiTerm qui prend en charge les couleurs ou vous pouvez activer AnsiColor pour le shell normal:

 (autoload 'ansi-color-for-comint-mode-on "ansi-color" nil t)
(add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on)
 

5voto

Török Gábor Points 13913

De plus, vous pouvez choisir un autre shell: M-x term ou M-x eshell . Le premier fournit une interface beaucoup plus proche d’un véritable émulateur de terminal que shell-mode (une fois que vous l’avez démarré, vous pouvez sortir du mode avec C-c C-j et y revenir avec C-c C-k ). Ce dernier est une implémentation shell écrite en Elisp (vous pouvez utiliser les commandes shell courantes et évaluer le code Lisp).

3voto

Trey Jackson Points 49816

En développant la réponse de vatine , vous pouvez ajouter que, dans votre fichier .cshrc (.tcshrc / .bashrc), vous obtenez une vérification de la variable d’environnement INSIDE_EMACS .

Par exemple (de mon .tcshrc):

 if ( $?INSIDE_EMACS ) then
   alias l 'ls --color=never'
endif
 

2voto

Mahesh Lavannis Points 11

Mx ansi-color-for-comint-mode-on

1voto

Vatine Points 8884

Le problème est que "l" essaye de coloriser la sortie et qu’Emacs n’en a aucune. Essayez ce qui suit:

$ unalias l
$ alias l ls --color = jamais

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X