我想在Zsh提示符中添加Unicode字符以自定义主题。
我已经阅读了像这篇文章(https://scriptingosx.com/2019/07/moving-to-zsh-06-customizing-the-zsh-prompt/)这样的文章,解释了需要更改PROMPT变量,我已经尝试过。但是,当在提示符中打印Unicode字符时,shell返回字符的文本(例如'U+1F600'),而不是字符图标本身()。
我想知道Zsh是否支持这个功能?
我受到了这个提示的启发:
我想在Zsh提示符中添加Unicode字符以自定义主题。
我已经阅读了像这篇文章(https://scriptingosx.com/2019/07/moving-to-zsh-06-customizing-the-zsh-prompt/)这样的文章,解释了需要更改PROMPT变量,我已经尝试过。但是,当在提示符中打印Unicode字符时,shell返回字符的文本(例如'U+1F600'),而不是字符图标本身()。
我想知道Zsh是否支持这个功能?
我受到了这个提示的启发:
使用\U
转义符,后面可以跟随1-8位十六进制值(尽管Unicode当前定义只需要6位数字,因为它仅允许代码点达到10FFFF)。
% print '\U1f600'
对于提示符,您需要使用$'...'
引用以扩展转义(print
命令会自动执行此操作):
% PS1=$'%m %1~ \U1f600 %# '
myhost ~ %
就像在其他情境下一样,不同类型的引号可以组合在单个赋值语句中。例如,
PS1='%m %1~ '$'\U1f600'' %# '
等价于上述内容。