Como faço para obter o modo de shell Emacs, quer render (ou ignorar) as minhas cores em vez de imprimir códigos ASCII?

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

  •  05-07-2019
  •  | 
  •  

Pergunta

O sintoma dos olhares problemáticas como "[0m [27m [24m [J [34; 1". Que em um traduz terminais para a cor azul

-A

Foi útil?

Solução 2

A solução que está me dando algum sucesso é redefinir a função shell como um termo ansi:

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

Outras dicas

Eu tenho o seguinte no meu .emacs

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

Para a "ignorar", colocar algo alternativa como "alias ls=ls" ou "unset LS_COLORS" em seu arquivo ~/.emacs_{bash,tsch,whatever-your-shell-is-called}. Este arquivo é executado em todas as conchas subordinados criados por emacs.

Emacs envia o novo shell o conteúdo do ficheiro ~/.emacs_shellname como entrada, se ela existe, onde shellname é o nome do ficheiro que o escudo foi carregado a partir de. Por exemplo, se você usar o bash, o enviado arquivo para ele é ~/.emacs_bash. Se este arquivo não for encontrado, o Emacs tenta fallback em ~/.emacs.d/init_shellname.sh.

A seguir deve funcionar no seu .bash_profile ou .bashrc

case $TERM in
xterm-color)
export PS1='\[\e]0;\W\007\]\[\e[34;1m\]\W\[\e[0m\]\$ '
;;
*)
export PS1='\W\$ '
;;
esac
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top