¿Cómo obtengo el modo shell de Emacs para renderizar (o ignorar) mis colores en lugar de imprimir códigos ASCII?
Pregunta
El síntoma del problema se ve como " [0m [27m [24m [J [34; 1 " que en un terminal se traduce en el color azul.
-A
Solución 2
La solución que actualmente me está dando cierto éxito es redefinir la función de shell como un término ansi:
;; shell-mode
(defun sh ()
(interactive)
(ansi-term "/bin/zsh"))
Otros consejos
Tengo lo siguiente en mi .emacs
(add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on)
Para el " ignorar " alternativa, ponga algo como " alias ls = ls
" o " unset LS_COLORS
" en su ~ / .emacs_ {bash, tsch, como se llame su archivo
. Este archivo se ejecuta en todos los shells subordinados creados por emacs.
Emacs envía el nuevo shell el contenido del archivo
~ / .emacs_shellname
como entrada, si existe, dondeshellname
es el nombre del archivo desde el que se cargó el shell. Por ejemplo, si usa bash, el archivo que se le envía es~ / .emacs_bash
. Si no se encuentra este archivo, Emacs intenta retroceder en~ / .emacs.d / init_shellname.sh
.
Lo siguiente debería funcionar en su .bash_profile o .bashrc
case $TERM in
xterm-color)
export PS1='\[\e]0;\W\007\]\[\e[34;1m\]\W\[\e[0m\]\$ '
;;
*)
export PS1='\W\$ '
;;
esac