Le symptôme du problème ressemble à "[0m [27m [24m [J [34; 1" qui sur un terminal se traduit par la couleur bleue.Comment obtenir le mode shell d'Emacs pour rendre (ou ignorer) mes couleurs au lieu d'imprimer des codes ASCII?
-A
Le symptôme du problème ressemble à "[0m [27m [24m [J [34; 1" qui sur un terminal se traduit par la couleur bleue.Comment obtenir le mode shell d'Emacs pour rendre (ou ignorer) mes couleurs au lieu d'imprimer des codes ASCII?
-A
La solution qui est actuellement me donne un certain succès est de redéfinir la fonction shell comme un terme ansi:
;; shell-mode
(defun sh()
(interactive)
(ansi-term "/bin/zsh"))
Les éléments suivants doivent travailler dans votre .bash_profile ou .bashrc
case $TERM in
xterm-color)
export PS1='\[\e]0;\W\007\]\[\e[34;1m\]\W\[\e[0m\]\$ '
;;
*)
export PS1='\W\$ '
;;
esac
J'ai ce qui suit dans mon .emacs
(add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on)
Le chargement automatique n'est pas nécessaire dans la version récente d'Emacs (elle est automatiquement chargée par défaut). – cjm
Cela a aidé, (la couleur bleue est apparue) cependant certains codes de contrôle ASCII sont encore apparus dans le tampon. Il ne fait aucun doute qu'il y a un ou plusieurs détails à combiner avec cette solution. – SetJmp
Je pense que cette réponse devient upvotes reflète qu'il fonctionne sur certaines plates-formes communes pour les utilisateurs de stackoverflow. Mais voir aussi la réponse acceptée. – SetJmp
Pour l'alternative "ignorer" , mettez quelque chose comme "alias ls=ls
" ou "unset LS_COLORS
" dans votre fichier ~/.emacs_{bash,tsch,whatever-your-shell-is-called}
. Ce fichier est exécuté dans tous les shells subordonnés créés par emacs.
Emacs envoie la nouvelle enveloppe le contenu du fichier
~/.emacs_shellname
en entrée, si elle existe, oùshellname
est le nom du fichier que l'enveloppe a été chargé. Par exemple, si vous utilisez bash, le fichier qui lui est envoyé est~/.emacs_bash
. Si ce fichier n'est pas trouvé, Emacs essaie de se replier sur~/.emacs.d/init_shellname.sh
.
Un peu plus d'informations sur ma config: zsh + GNU emacs – SetJmp