^[]
Шум исходит от различных управляющих символов терминала в вашем приглашении оболочки. Попробуйте echo $PS1
просмотреть полную последовательность и, например, попытаться export PS1='$ '
увидеть, что более простая строка приглашения устраняет эту конкретную проблему.
Для кодировки вы можете попробовать сделать utf-8 предпочитаемой кодировкой:
(prefer-coding-system 'utf-8)
Настройка приглашения
Emacs устанавливает переменную INSIDE_EMACS, чтобы вы могли создать .bash_profile, который устанавливает PS1 только при работе в Emacs.
При тестировании на моей машине первая строка подсказки содержит проблемные управляющие символы. Я создал ~ / .bash_profile с этим.
if [ -n "$INSIDE_EMACS" ]; then
export PS1='\[\033[32m\]\u@\h \[\033[33m\]\w\[\033[36m\]`__git_ps1`\[\033[0m\]\n$ '
fi
Это устанавливает приглашение на основе того, что git-bash было установлено по умолчанию, но я удалил первую строку (до \ n разрыва строки). Я также удалил $ MSYSTEM, который помещает MINGW64 в приглашение - мне не нужно это видеть. Остается только user @ host, текущий каталог и git repo. Управляющие символы устанавливают цвета, которые Emacs отображает для меня правильно. (Подробнее о настройке вашего приглашения см. Руководство по bash .)
В Emacs я установил оболочку на git-bash:
(setq explicit-shell-file-name "C:/git-for-windows/bin/bash.exe")
(setq explicit-bash.exe-args '("--login" "-i"))
С этой настройкой я все еще вижу начальное сообщение об ошибке ioctl, но в остальном все работает как положено, и кодировка - utf-8.
MĂĄrton
следует прочитатьMárton
)