如果我将命令提示符设置为:
export PS1='\033[0;33m[\u@\h \w]\$ \033[00m'
提示的颜色将为黄色,“$”字符之后的所有内容都将是默认的终端颜色。这是我所期望的。但是,如果我回忆一个命令行并尝试对其进行编辑,请移动光标——如果我正在尝试编辑命令行,则可以是 UpArrow/Ctrl-A (set -o emacs) 或 ESC K (set -o vi)足够长,光标不在命令的开头。键入 Ctrl-A (set -o emacs) 或 ^ (set -o vi) 不会将光标移动到我看到的屏幕上调用行的开头。类似地,试图将光标定位到行尾(Ctrl-E 或 $,取决于)会导致它被放置在看起来是行尾的几个字符之后。看起来 bash 被我添加到提示中的转义字符弄糊涂了。