bash - 如何修复 ansi-term emacs 中损坏的提示?

标签 bash emacs ansi-term

<分区>

我的提示在普通 bash 终端上工作正常,但在 ansi-term emacs bash 终端中它似乎坏了(或显示坏了)。

这是我的 PS1:

\[\e[00;31m\]\u\[\e[00;33m\]@\h\[\e[00;32m\] \W\[\e[1;34m\] $\[\e[0m\]

在普通的 bash 中看起来像这样: Normal Prompt

这就是它在 emacs ansi-term (bash) 中的样子: Broken Prompt emacs

我已经检查过 default-process-coding-system 变量是 (utf-8-unix . utf-8-unix)

我想我需要在我的提示中转义一些东西,但我不知道是什么。

编辑:

我试图通过执行 export PS1='a' 来简化它,但我仍然有垃圾 (0;mbax2ct2@kilburn:~/directory)提示符前面。还有更多想法吗? 我实际上是通过 ssh 登录到那台机器的;在我设置它之后,这是否真的可以对 PS1 执行其他操作?

最佳答案

检查您是否为 PROMPT_COMMAND 环境变量设置了任何内容。

使用 unset PROMPT_COMMAND 清除它,我怀疑您将不再看到意外行为。

关于bash - 如何修复 ansi-term emacs 中损坏的提示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19968661/

相关文章:

colors - mercurial 颜色扩展的有效颜色是什么?

Python 打印到/dev/usb/lp0

linux - Apache2/httpd (.bashrc) 的特定目录

bash 创建用于启动进程的 ids 数组

c++ - Emacs + C/C++ + Doxygen : Alternative to doxymacs? 使用 yasnippet?

Emacs Lisp - mapcar 没有将函数应用于所有元素?

emacs - Emacs中如何实现代码折叠效果?

shell - Emacs:有些程序只能在 ansi-term 中运行,有些程序只能在 shell 中运行

Emacs ansi-term 最大缓冲区大小?

linux - 使用变量中的用户名和密码进行 curl 下载