我刚刚切换到 Zsh,但我遇到了一个奇怪的问题:每次我按 Tab 键时,提示都会上升一行,从而吃掉上面的内容。
为了更清楚地说明问题,我创建了一个GIF:

我正在使用自定义主题和 Oh My Zsh。您可以在此处找到主题:http : //pastebin.com/12dZtZf3。
编辑:问题似乎存在于我的主题中,因为使用其他主题可以解决问题。
编辑:罪魁祸首似乎在打印破折号行和提示上方的日期的函数中:
_professional_prompt_header() {
echo -n "$bg[grey]"
for i in {0..$(( $(tput cols) / 2 - 6 ))}; do
echo -n "--"
done
# Uncommenting this line fixes the problem.
# Tried echo without -n and print, but no success.
echo -n " %*$reset_color"
}
Run Code Online (Sandbox Code Playgroud)
在 zsh 5.3 版本中,这也成为多行提示的问题。截至2017年1月13日,补丁尚未发布。可以在这个 prezto 问题中找到讨论和解释。
有关有问题的 zsh 问题本身的更多讨论可以在这里找到。
希望 zsh 项目能够解决这个问题。如果没有,github 存储库中提到的一些解决方法是使PROMPT变量只有一行,输出precmd函数中的任何其他行。然而,这看起来很痛苦,所以在它被修复(或决定成为一个“功能”)之前,最简单的修复听起来像是回滚到 zsh 5.2。
| 归档时间: |
|
| 查看次数: |
950 次 |
| 最近记录: |