Как заставить режим оболочки Emacs отображать (или игнорировать) мои цвета вместо печати кодов ASCII?

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

  •  05-07-2019
  •  | 
  •  

Вопрос

Симптом проблемы выглядит следующим образом: «[0m [27m [24m [J [34; 1» »). который на терминале переводится в синий цвет.

-A

Это было полезно?

Решение 2

Решение, которое в настоящее время дает мне некоторый успех, состоит в том, чтобы переопределить функцию оболочки как ANSI-термин:

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

Другие советы

В моем .emacs

есть следующее
(add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on)

Для " игнорировать " альтернативно, поместите что-то вроде " alias ls = ls " или unset LS_COLORS " в вашем файле ~ / .emacs_ {bash, tsch, как угодно, как называется ваша оболочка} . Этот файл выполняется во всех подчиненных оболочках, созданных emacs.

  

Emacs отправляет новую оболочку содержимое файла ~ / .emacs_shellname в качестве входных данных, если оно существует, где shellname - это имя файла, из которого была загружена оболочка. Например, если вы используете bash, отправленный ему файл имеет вид ~ / .emacs_bash . Если этот файл не найден, Emacs пытается выполнить откат на ~ / .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
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top