Executando o Cygwin Inferior Shell no Emacs

3

Estou executando o Cygwin como um Shell Inferior no Emacs . Aqui está o passo básico que estou seguindo:

  • shell C-u M-x (renomeia o buffer para o cygwin)
  • cd \ cygwin
  • cygwin.bat

Veja o que vejo:

C:\cygwin>cygwin
cygwin
]0;~
[32muser1@mymachine [33m~[0m
$

Se eu executo cygwin.bat fora do emacs, isso me dá:

user1@mymachine ~
$

Eu quase poderia lidar com os caracteres extras, mas quando eu tento ls aqui está o resultado:

$ ls
bash: $'ls\r': command not found

Eu devo estar fazendo algo errado. Alguma sugestão?

EDIT: M-x ansi-color-for-comint-mode-on corrigiu o prompt, mas o sistema ainda não conseguiu decodificar o comando ls.

    
por User1 27.10.2009 / 20:29

1 resposta

4

Aqui está a correção para o lixo de alimentação de linha do Unix: link

Basicamente, basta executar:

M-x set-buffer-process-coding-system

com 'unecided-unix e' undecided-unix parameters.

Além disso, altere o prompt para:

export PS1="\[\e[32m\]\u@\h \[\e[33m\]\w\[\e[0m\]\n\$"

O PS1 padrão causa erros desagradáveis.

    
por 27.10.2009 / 22:33