【发布时间】:2017-06-28 03:00:17
【问题描述】:
注意:我运行的是 Mac OS X Sierra,但这个问题也出现在 Ubuntu 上。
我已经自定义了终端提示:
export PS1="\n\[\033[1;31m\]\u ???? \[\033[1;32m\]@ \[\033[1;32m\]\h \[\033[0;35m\]in \[\033[0;36m\]\w\n\[\033[0;34m\]> \[\033[1;37m\] \e[0m"
请注意,我在末尾添加了一个换行符,因此我开始在 > 之后的新行中输入命令。我已经在多台机器上这样做了,并且我注意到每当我添加换行符时,终端的行为都会很奇怪。
奇怪的是,我所指的确切行为是这样的(如果您使用我提到的 PS1 值,这包括复制错误的步骤):
按向上箭头键访问旧命令。
当我在历史记录中遇到一个包含超过 1 个单词的命令,并且第一个单词的长度超过 4 个字符时,那么单词 'stick' 的前 4 个字符将提示。
这个“粘滞部分”我无法删除,连按几次向上箭头键都删除不了。
例如,如果我输入的最后 4 个命令是(从最近到最近):clear、man man、this that 和 help。
然后,当我通过递增按向上键查看之前的命令时:
help 正常可见。
this that 正常可见。
注意this 是如何附加在开头的。如果我尝试,我无法删除它。
按向上键时继续停留。
我该如何解决这个问题?
【问题讨论】:
标签: terminal command-prompt prompt