我正在尝试通过zsh提示符修复一个小问题(但很烦人)。我看到的问题是,当我在GUI OS环境中使用终端(例如,OS X 10.7.2上的Terminal.app或iTerm 2)并调整终端窗口的大小时,会使用额外的提示重新绘制终端。
我已经在包含以下内容的干净的.zshrc上重现了该问题:
export PROMPT=">
"
要明确的是,这是两行文件。字符串中有一个文字换行符,我已经在几个(公认的是旧的)地方读过,这是解决之道。这一直有效,直到我调整终端窗口的大小为止,这时我得到了重复的提示字符串。例如,如果我打开一个新窗口,则会看到(*
被用作游标的占位符):
Last login: Wed Jan 25 19:05:06 on ttys000
>
*
然后,当我调整窗口大小,使其更短时,最终得到:
Last login: Wed Jan 25 19:05:06 on ttys000
>
>
>
>
*
额外的即时打印输出的数量似乎与我改变窗口大小(通常是垂直方向)的大小成正比。如果我从提示字符串中删除换行符,问题就消失了。
我已经尝试过各种方法,例如$(print ">\n")
或尝试将换行符包装在中%{%}
。我假设这与以下事实有关:换行符混淆了绘制提示字符串实际上是多长时间的东西。这个问题可以解决吗?还是我只需要忍受?
print
是ZSH特有的命令,而Google搜索“ linux print”不会给您很好的效果。