如何在Zsh提示符下添加Unicode字符?

我想在我的Zsh提示符中添加Unicode字符以自定义主题。

我已经读过类似这样的文章(https://scriptingosx.com/2019/07/moving-to-zsh-06-customizing-the-zsh-prompt/),这些文章解释了您需要更改我尝试过的PROMPT变量。但是,在提示符下打印Unicode字符时,shell返回该字符的文本(例如'U + 1F600'),而不是字符图形图标本身(?)。

我想知道Zsh是否有可能实现这一目标?

我受到如下提示的启发:

如何在Zsh提示符下添加Unicode字符?

heyu193 回答:如何在Zsh提示符下添加Unicode字符?

使用\U转义符,其后可以是1-8位数字的十六进制值(尽管当前定义的Unicode仅需要6位数字,因为它最多允许10FFFF的代码点)。 / p>

% print '\U1f600'
?

要获得提示,您需要使用$'...'引号引起转义符的扩大(print命令本身会这样做):

% PS1=$'%m %1~ \U1f600 %# '
myhost ~ ? %

在其他情况下,可以将不同种类的引用组合在单个分配中。例如,

PS1='%m %1~ '$'\U1f600'' %# '

等同于上面。

本文链接:https://www.f2er.com/2618459.html

大家都在问