Comment faire en sorte que le mode shell Emacs rende (ou ignore) mes couleurs au lieu d'imprimer des codes ASCII?

StackOverflow https://stackoverflow.com/questions/256264

  •  05-07-2019
  •  | 
  •  

Question

Le symptôme du problème se présente comme suit: "[0m [27m [24m [J [34; 1"] qui sur un terminal se traduit par la couleur bleue.

-A

Était-ce utile?

La solution 2

La solution qui me donne actuellement un certain succès consiste à redéfinir la fonction shell en tant que terme ansi:

;; shell-mode
(defun sh ()
  (interactive)
  (ansi-term "/bin/zsh"))

Autres conseils

J'ai les éléments suivants dans mon .emacs

(add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on)

Pour le " ignorer " Vous pouvez également placer quelque chose comme " alias ls = ls ". ou " unset LS_COLORS " dans votre fichier ~ / .emacs_ {bash, tsch, quel que soit le nom de votre shell} . Ce fichier est exécuté dans tous les shells subordonnés créés par emacs.

  

Emacs envoie le nouveau shell le contenu du fichier ~ / .emacs_shellname en tant qu'entrée, s'il existe, où nom du shell est le nom du fichier à partir duquel le shell 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 tente de se replier sur ~ / .emacs.d / init_shellname.sh .

Ce qui suit devrait fonctionner dans votre profil .bash ou .bashrc

case $TERM in
xterm-color)
export PS1='\[\e]0;\W\007\]\[\e[34;1m\]\W\[\e[0m\]\$ '
;;
*)
export PS1='\W\$ '
;;
esac
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top