Das ^[]
Geräusch kommt von verschiedenen Terminalsteuerungszeichen in Ihrer Shell-Eingabeaufforderung. Versuchen Sie echo $PS1
, die vollständige Sequenz anzuzeigen, und versuchen Sie beispielsweise export PS1='$ '
festzustellen, dass eine einfachere Eingabeaufforderungszeichenfolge dieses bestimmte Problem beseitigt.
Für die Codierung können Sie versuchen, utf-8 zu Ihrer bevorzugten Codierung zu machen:
(prefer-coding-system 'utf-8)
Einrichten der Eingabeaufforderung
Emacs legt die Variable INSIDE_EMACS fest, sodass Sie ein .bash_profile erstellen können, das PS1 nur festlegt, wenn es in Emacs ausgeführt wird.
Beim Testen auf meinem Computer enthält die erste Zeile der Eingabeaufforderung die problematischen Steuerzeichen. Ich habe damit ein ~ / .bash_profile erstellt.
if [ -n "$INSIDE_EMACS" ]; then
export PS1='\[\033[32m\]\u@\h \[\033[33m\]\w\[\033[36m\]`__git_ps1`\[\033[0m\]\n$ '
fi
Dies setzt die Eingabeaufforderung basierend auf der Standardeinstellung von git-bash, aber ich habe die erste Zeile entfernt (bis zum Zeilenumbruch \ n). Ich habe auch das $ MSYSTEM entfernt, das MINGW64 in die Eingabeaufforderung einfügt - das muss ich nicht sehen. Was bleibt, ist der Benutzer @ Host, das aktuelle Verzeichnis und Git Repo. Die Steuerzeichen legen Farben fest, die Emacs für mich richtig anzeigt. (Einzelheiten zum Einrichten Ihrer Eingabeaufforderung finden Sie im Bash- Handbuch .)
In Emacs habe ich die Shell auf git-bash gesetzt:
(setq explicit-shell-file-name "C:/git-for-windows/bin/bash.exe")
(setq explicit-bash.exe-args '("--login" "-i"))
Bei diesem Setup wird immer noch die erste ioctl-Fehlermeldung angezeigt, aber ansonsten funktionieren die Dinge wie erwartet und die Codierung ist utf-8.
MĂĄrton
sollte lesenMárton
)