eu coloquei o ~ / .emacs
(add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on)
e isso resolveu o meu problema. De qualquer forma obrigado por responder. O link que resolveu meu problema.
Enquanto o modo shell do emacs quando eu corro
ls
Eu obtenho seguindo
[0m[01;32mmanage.py[0m [01;34mtemplates[0m
estes devem ser manage.py e templates. Por que é assim e como consertá-lo?
eu coloquei o ~ / .emacs
(add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on)
e isso resolveu o meu problema. De qualquer forma obrigado por responder. O link que resolveu meu problema.
Esses são códigos vt100 para exibição em cores (que geralmente é habilitado por padrão na maioria das distribuições Linux atualmente). O shell Emacs não suporta os códigos de escape vt100.
Descubra se o comando ls
está com alias.
which ls
Será parecido com o seguinte ou algo semelhante?
ls: alias to ls --color=tty
Nesse caso, você precisará descobrir onde esse alias está definido e alterá-lo ou alterar como ele é chamado.
Seu shell sabe que está sendo executado em um shell do emacs se a configuração do ambiente EMACS estiver definida como t
. Você pode fazer algo como o seguinte para definir funções alternativas. Eu uso zsh, então isso contém alguns itens específicos para esse shell.
## for emacs
if [[ $EMACS = "t" ]] then
PROMPT="%# " # make the prompt simple
unsetopt zle # turn off advanced line editting
ls_pager=( cat ) # ls is simple piped to cat
ls_flags=( -A ) # default ls flags
fi
Por bash você pode apenas alias ls
alias ls='ls -A'