答案1
尝试发出以下命令:
unsetopt PROMPT_SP
此选项的解释man zshoptions
如下(突出显示是我的):
尝试保留部分行(即未以换行符结尾的行),否则由于 PROMPT_CR 选项,该行将被命令提示符覆盖。此操作通过输出一些光标控制字符(包括一系列空格)来实现,这些字符应使终端在存在部分行时换行到下一行(请注意,这仅在您的终端具有自动边距时才会成功,这是典型的情况)。
当部分线路被保留时,默认情况下,你会在部分行的末尾看到一个反向+粗体字符:a
%
对于普通用户或者#
root 用户使用。如果设置了,shell 参数 PROMPT_EOL_MARK 可用于自定义部分行结尾的显示方式。注意:如果未设置 PROMPT_CR 选项,则启用此选项将不起作用。默认情况下此选项处于启用状态。
答案2
这Agnoster 主题您正在使用的字体需要包含一些特殊符号的修补字体才能正确显示。摘自其自述文件:
注意:您很可能需要安装电力线修补字体以便该主题能够正确呈现。
切换到支持 Powerline 的字体来解决这个问题。我正在使用黑客,它开箱即兼容电力线,无需修补。
可以在 VS Code 设置中更改字体。