Il ^[]
rumore proviene da vari caratteri di controllo del terminale nel prompt della shell. Prova echo $PS1
a vedere l'intera sequenza e prova ad esempio export PS1='$ '
a vedere che una stringa di prompt più semplice rimuove quel particolare problema.
Per la codifica, potresti provare a rendere utf-8 la tua codifica preferita:
(prefer-coding-system 'utf-8)
Impostazione del prompt
Emacs imposta la variabile INSIDE_EMACS in modo da poter creare un file .bash_profile che imposta PS1 solo durante l'esecuzione in Emacs.
Test sulla mia macchina, la prima riga del prompt presenta i caratteri di controllo problematici. Ho creato un ~ / .bash_profile con questo.
if [ -n "$INSIDE_EMACS" ]; then
export PS1='\[\033[32m\]\u@\h \[\033[33m\]\w\[\033[36m\]`__git_ps1`\[\033[0m\]\n$ '
fi
Questo imposta il prompt in base all'impostazione predefinita di git-bash, ma ho rimosso la prima riga (fino all'interruzione di linea \ n). Ho anche rimosso $ MSYSTEM che inserisce MINGW64 nel prompt - non ho bisogno di vederlo. Ciò che rimane è l'utente @host, la directory corrente e il repository git. I personaggi di controllo impostano i colori che Emacs visualizza correttamente per me. (Per i dettagli sulla configurazione del prompt, consultare il manuale di bash .)
In Emacs ho impostato la shell su git-bash:
(setq explicit-shell-file-name "C:/git-for-windows/bin/bash.exe")
(setq explicit-bash.exe-args '("--login" "-i"))
Con questa configurazione sto ancora vedendo il messaggio di errore iniziale ioctl, ma per il resto le cose funzionano come previsto e la codifica è utf-8.
MĂĄrton
dovrebbe leggereMárton
)