如何在 bash 提示中正确使用美国国旗表情符号?

And*_*rna 5 osx bash prompt emoji

我想在我的 bash 提示中使用美国国旗表情符号(即 PS1 环境变量)。但是,美国国旗表情符号会导致终端光标向右偏移一个额外的字符。

由两个 unicode 字符组成,和 . 我相信终端正在将其转换为等宽的表情符号字符(标志),但仍为两个字符分配空间。我怎样才能达到我预期的光标位置?

我想要:
Desktop user ls|

我得到:
Desktop user ls | <-光标的奇怪空间偏移

我的 ~/.bash_profile 是:
export PS1=' \W \u '

小智 0

我知道你说过你使用 bashrc,但是当我自定义 zshrc 配置时,我发现不同的终端字符之间的间距不同。我建议尝试一下Terminatorkitty terminal看看rxvt-unicode其中之一是否能给出您想要的结果。

一个重要的注意事项是,如果您使用https://www.nerdfonts.com/nerdfonts中的其中之一, 您可能能够实现您想要的终端外观。字体也发挥了作用。