problema do modo shell do Emacs

2

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?

    
por Gok Demir 16.12.2009 / 20:23

2 respostas

1

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.

    
por 16.12.2009 / 21:25
5

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'
    
por 16.12.2009 / 20:41

Tags