![为什么我的 Emacs shell 会出现这种垃圾信息?](https://linux22.com/image/1319967/%E4%B8%BA%E4%BB%80%E4%B9%88%E6%88%91%E7%9A%84%20Emacs%20shell%20%E4%BC%9A%E5%87%BA%E7%8E%B0%E8%BF%99%E7%A7%8D%E5%9E%83%E5%9C%BE%E4%BF%A1%E6%81%AF%EF%BC%9F.png)
在我的 emacs shell 中,我看到以下输出:
^[[J~% 回显 $PS1
回显 $PS1
%2c%%
在我的另一台机器上,这个东西根本就不显示。有人能给出原因和解决方法吗?
答案1
您的 shell 启动脚本正在配置PS1
变量以输出转义序列作为提示的一部分(可能是为了制作彩色文本或反向视频)。Emacs 缓冲区无法执行这些操作(至少不能使用转义序列),因此您看到的是原始转义序列。您应该能够TERM
在设置 的 shell 启动代码中测试 环境变量 的值。如果变量PS1
的值为,则不要将转义序列插入。TERM
emacs
PS1
答案2
您也可以尝试进入 shell 缓冲区并执行M-x ansi-color-for-comint-mode-on
。