如何将 unicode 字符添加到 Zsh 提示符?
How to add unicode characters to Zsh prompt?
我想在我的 Zsh 提示符中添加 unicode 字符来自定义主题。
我读过类似这篇 (https://scriptingosx.com/2019/07/moving-to-zsh-06-customizing-the-zsh-prompt/) 的文章,其中解释了您需要更改 PROMPT 变量,我已经尝试过了。但是,当涉及到在提示中打印 Unicode 字符时,shell returns 即字符的文本(例如 'U+1F600'),而不是字符图形图标本身 ().
我想知道这在 Zsh 中是否可行?
我受到如下提示的启发:
使用 \U
转义符,它后面可以跟一个 1-8 位的十六进制值(尽管当前定义的 Unicode 只需要 6 位数字,因为它只允许最多 10FFFF 的代码点) .
% print '\U1f600'
对于提示,您需要使用 $'...'
引号来扩展转义符(print
命令自行完成):
% PS1=$'%m %1~ \U1f600 %# '
myhost ~ %
与其他情况一样,不同类型的引用可以组合在一个作业中。例如,
PS1='%m %1~ '$'\U1f600'' %# '
相当于上面的
我想在我的 Zsh 提示符中添加 unicode 字符来自定义主题。
我读过类似这篇 (https://scriptingosx.com/2019/07/moving-to-zsh-06-customizing-the-zsh-prompt/) 的文章,其中解释了您需要更改 PROMPT 变量,我已经尝试过了。但是,当涉及到在提示中打印 Unicode 字符时,shell returns 即字符的文本(例如 'U+1F600'),而不是字符图形图标本身 ().
我想知道这在 Zsh 中是否可行?
我受到如下提示的启发:
使用 \U
转义符,它后面可以跟一个 1-8 位的十六进制值(尽管当前定义的 Unicode 只需要 6 位数字,因为它只允许最多 10FFFF 的代码点) .
% print '\U1f600'
对于提示,您需要使用 $'...'
引号来扩展转义符(print
命令自行完成):
% PS1=$'%m %1~ \U1f600 %# '
myhost ~ %
与其他情况一样,不同类型的引用可以组合在一个作业中。例如,
PS1='%m %1~ '$'\U1f600'' %# '
相当于上面的