我的命令行提示符将在大约50个字符后重置,包括提示符。例如,如果提示符如下所示:
user@computer$
然后我开始输入
user@computer$ blah blah blah blah blah blah
我最终会到达命令行开始重置的程度:
blah blmputer$ blah blah blah blah blah blah
有谁知道为什么会发生这种情况以及如何解决这个问题?最初我认为这是iTerm的一个问题,但我查看了默认的OS X终端并遇到了同样的问题。
编辑:进一步观察我意识到该行总是从窗口末尾重置固定数量的字符,而不是从头开始。
答案 0 :(得分:0)
通常的原因是由于没有引用用于着色的转义序列或突出显示bash
shell中的提示。如果不这样做,bash
会将转义字符计为“打印”。这同样适用于zsh
(不同的引用),但bash
恰好是OSX的默认shell。
根据xterm
手册:
bash将“[”和“]”中的字符视为非打印字符(在屏幕上不使用宽度)。
zsh将“%{”和“%}”中的字符视为非打印字符。
要改变的地方是你的shell对PS1
的定义。 Bash Prompt HOWTO 是阅读更多内容的好地方。