【问题标题】:How to add unicode characters to Zsh prompt?如何将 unicode 字符添加到 Zsh 提示符?
【发布时间】:2020-03-19 13:59:21
【问题描述】:

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

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

我想知道这在 Zsh 中是否可行?

我受到如下提示的启发:

【问题讨论】:

    标签: zsh zshrc


    【解决方案1】:

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

    % print '\U1f600'
    ?
    

    对于提示,您需要使用 $'...' 引用来扩展转义符(print 命令本身会这样做):

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

    与在其他情况下一样,不同类型的引用可以组合在一个作业中。例如,

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

    等价于上述。

    【讨论】:

      猜你喜欢
      • 2018-07-04
      • 2011-08-13
      • 1970-01-01
      • 2016-02-29
      • 2013-07-19
      • 2011-06-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多