The ^[]
kebisingan yang datang dari berbagai karakter kontrol terminal dalam prompt shell Anda. Cobalah echo $PS1
untuk melihat urutan penuh, dan coba misalnya export PS1='$ '
untuk melihat bahwa string prompt yang lebih sederhana menghilangkan masalah tertentu.
Untuk penyandian, Anda dapat mencoba membuat utf-8 penyandian pilihan Anda:
(prefer-coding-system 'utf-8)
Menyiapkan prompt
Emacs menetapkan variabel INSIDE_EMACS sehingga Anda bisa membuat .bash_profile yang menetapkan PS1 hanya saat dijalankan di Emacs.
Menguji pada mesin saya, baris pertama prompt memiliki karakter kontrol yang bermasalah. Saya membuat ~ / .bash_profile dengan ini.
if [ -n "$INSIDE_EMACS" ]; then
export PS1='\[\033[32m\]\u@\h \[\033[33m\]\w\[\033[36m\]`__git_ps1`\[\033[0m\]\n$ '
fi
Ini menetapkan prompt berdasarkan apa yang diatur git-bash secara default, tapi saya menghapus baris pertama (hingga \ n break baris). Saya juga menghapus $ MSYSTEM yang menempatkan MINGW64 di prompt - Saya tidak perlu melihatnya. Yang tersisa adalah user @ host, direktori saat ini, dan git repo. Karakter kontrol mengatur warna yang ditampilkan Emacs dengan benar untuk saya. (Untuk detail tentang pengaturan prompt Anda, lihat manual bash .)
Di Emacs saya mengatur shell ke git-bash:
(setq explicit-shell-file-name "C:/git-for-windows/bin/bash.exe")
(setq explicit-bash.exe-args '("--login" "-i"))
Dengan pengaturan ini saya masih melihat pesan kesalahan ioctl awal, tetapi hal-hal lain berfungsi seperti yang diharapkan dan pengkodeannya utf-8.
MĂĄrton
harus membacaMárton
)