使用 zsh 清除终端 Mac OS 后显示多行 PROMPT

Show multiline PROMPT after clearing terminal Mac OS using zsh

我制作了一个在我的 .zshcr 文件中使用多行的自定义 PROMPT

PROMPT="%(1V.(%1v)"$'\n'".)%F{166}%n%f at %F{229}%m%f in %F{114}%.%f"$'\n'"$ "

但是当我使用 command+K 清除终端时,只有最后一行显示在清除的终端中。所以我想知道是否有人知道我需要添加什么才能在已清除的终端中显示完整的 PROMPT

⌃controlL。这会激活 Zsh's clear-screen widget.

终端仿真器不知道提示的开始和结束位置,因此只能提供您体验到的滚动行为。我相信终端仿真器只是向上滚动 window 的当前内容,直到光标到达屏幕顶部,或者可能完全清除内容。

运行 clear 命令会得到你想要的结果。该程序执行类似的滚动操作,然后退出并 returns 控制到 shell,然后绘制提示,就像它在 运行 任何命令之后所做的那样。我已经在 Bash 中对此进行了测试,但我认为它也适用于 Zsh。