我尝试在 Alacritty 的 GitHub 问题选项卡上询问这个问题,结果得到了这个:
This is an issue with your system, likely related to _TERM_ or your _PS1_.
问题如下:有时,当程序退出而没有添加换行符作为最后一个字符时stdout
,终端会出错并且不会转到下一行的开头。这里有些例子:
finxx > alacritty --version
alacritty 0.10.1 (2844606d)
%
finxx >
finxx > printf "asd\nasd\nasd\n"
asd
asd
asd
%
finxx >
finxx > echo $TERM
alacritty
%
finxx >
finxx > echo $PS1
%F{red}%@%f %F{yellow}%m%f %F{#FFFF00}%n%f %F{green}%~%f %F{cyan}%?%f >
%
finxx >
是的,我的$PS1
和例子中的提示不同。那是因为我正在另一台计算机上写这篇文章,并且将其打印出来会很痛苦。此问题在两台不同的计算机上仍然存在。唯一的解决方案是关闭终端模拟器并重新打开它。. ~/.zshrc
也什么都不做。这是我新安装的 Arch Linux 中的一个问题,alacritty
我的~./xinitrc
.这也会影响bash
,但我不使用 bash 作为我的主 shell。