¿Cómo obtengo el modo shell de Emacs para renderizar (o ignorar) mis colores en lugar de imprimir códigos ASCII?

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

  •  05-07-2019
  •  | 
  •  

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

¿Fue útil?

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, donde shellname 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
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top