O ^[]
ruído é proveniente de vários caracteres de controle de terminal no prompt do shell. Tente echo $PS1
ver a sequência completa e, por exemplo, export PS1='$ '
verifique se uma sequência de prompt mais simples remove esse problema específico.
Para a codificação, você pode tentar fazer do utf-8 sua codificação preferida:
(prefer-coding-system 'utf-8)
Configurando o prompt
O Emacs define a variável INSIDE_EMACS para que você possa criar um .bash_profile que define o PS1 somente quando executado no Emacs.
Testando na minha máquina, a primeira linha do prompt possui os caracteres de controle problemáticos. Eu criei um ~ / .bash_profile com isso.
if [ -n "$INSIDE_EMACS" ]; then
export PS1='\[\033[32m\]\u@\h \[\033[33m\]\w\[\033[36m\]`__git_ps1`\[\033[0m\]\n$ '
fi
Isso define o prompt com base no que o git-bash estava configurando por padrão, mas eu removi a primeira linha (até a \ n quebra de linha). Também removi o $ MSYSTEM, que coloca o MINGW64 no prompt - não preciso ver isso. O que resta é o usuário @ host, diretório atual e repositório git. Os caracteres de controle definem as cores que o Emacs exibe corretamente para mim. (Para detalhes sobre como configurar seu prompt, consulte o manual do bash .)
No Emacs, defino o shell para git-bash:
(setq explicit-shell-file-name "C:/git-for-windows/bin/bash.exe")
(setq explicit-bash.exe-args '("--login" "-i"))
Com essa configuração, ainda estou vendo a mensagem de erro inicial do ioctl, mas, caso contrário, as coisas funcionam como esperado e a codificação é utf-8.
MĂĄrton
Deve lerMárton
)