Симптом проблемы выглядит как «[0m [27m [24m [J [34; 1» », который на терминале переводится в синий цвет.
-A
В моем .emacs
.emacs
(add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on)
Решение, которое в настоящее время дает мне некоторый успех, состоит в том, чтобы переопределить функцию оболочки как термин ANSI:
;; shell-mode (defun sh () (interactive) (ansi-term "/bin/zsh"))
Для альтернативы "ignore" добавьте что-то вроде "alias ls=ls" или "unset LS_COLORS" в ваш файл ~/.emacs_{bash,tsch,whatever-your-shell-is-called}. Этот файл выполняется во всех подчиненных оболочках, созданных emacs.
alias ls=ls
unset LS_COLORS
~/.emacs_{bash,tsch,whatever-your-shell-is-called}
Emacs отправляет новой оболочке содержимое файла ~/.emacs_shellname в качестве входных данных, если он существует, где shellname - имя файла, из которого была загружена оболочка. Например, если вы используете bash, файл, отправленный на него, будет ~/.emacs_bash. Если этот файл не найден, Emacs пытается выполнить откат на ~/.emacs.d/init_shellname.sh.
~/.emacs_shellname
shellname
~/.emacs_bash
~/.emacs.d/init_shellname.sh
Следующее должно работать в вашем .bash_profile или .bashrc
case $TERM in xterm-color) export PS1='\[\e]0;\W\007\]\[\e[34;1m\]\W\[\e[0m\]\$ ' ;; *) export PS1='\W\$ ' ;; esac