gpt4 book ai didi

cygwin - 在我的 zsh 自定义提示(cygwin)中呈现时,一些表情符号图标被切成两半

转载 作者:行者123 更新时间:2023-12-03 23:31:06 29 4
gpt4 key购买 nike

我在 Cygwin 中使用 ZSH 和 oh-my-zsh,并且使用了“云”主题,它将云表情符号 (☁) 放在提示前。我喜欢它,但想尝试稍微定制它以显示不同的图像。但是,某些表情符号字符(至少是我尝试过的)显然无法正确呈现。

这是 ohmyzsh 附带的云主题:

if [[ -z $ZSH_THEME_CLOUD_PREFIX ]]; then
ZSH_THEME_CLOUD_PREFIX='☁'
fi

PROMPT='%{$fg_bold[cyan]%}$ZSH_THEME_CLOUD_PREFIX %{$fg_bold[green]%}%p %{$fg[green]%}%c % {$fg_bold[cyan]%}$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}'

这是该主题的外观:

ZSH terminal cloud theme screenshot

我尝试用另一个替换云表情符号,如下所示:
if [[ -z $ZSH_THEME_PAW_PREFIX ]]; then
ZSH_THEME_PAW_PREFIX='🐾'
fi

PROMPT='%{$fg_bold[yellow]%}$ZSH_THEME_PAW_PREFIX %{$fg_bold[green]%}%p %{$fg[green]%}%c %{$fg_bold[cyan]%}$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}'

但是,它只在我的控制台中显示了一半的表情符号图像:

ZSH terminal paw theme screenshot

我会注意到我正在使用 Source Code Pro两种情况下的等宽字体。在我看来,表情符号在第二个示例中呈现在较窄的空间中。有没有办法解决这个问题?或者更确切地说,为什么会有不同?是否与这些表情符号的编码方式有关?

最佳答案

这不是 zsh问题,这是终端模拟器和相关字符的问题的组合。

这是我的提示中使用的字符:

enter image description here

我用的是 monospace字体:Inconsolata .这意味着所有字符垂直排列。但是,您询问的表情符号字符太宽(它占用了两个字符空间)。

我认为这意味着该字符的排版宽度是普通字符的 1.7-2 倍,而您的终端模拟器不知道如何处理它。当它被渲染时,它显示正常的字符宽度,不幸的是切断了字符的右侧部分。

我会推荐:

  • 寻找不同的终端模拟器或字体:我不确定这是您的组合,还是具体的字体,或具体的模拟器。 (我不使用 Cygwin,也不能推荐任何基于 Windows 的软件)。
  • 将字符更改为不会溢出字符宽度的字符。

  • 注:有趣的是,您的第一个示例也太宽泛了:

    enter image description here

    (它应该直接在 a 下)。也许只是爪印字符太宽(双)而不是一点(1.5-ish)。

    可以试试用空格设置字符:
    ZSH_THEME_PAW_PREFIX='🐾 '

    但我不知道这是否有效。

    关于cygwin - 在我的 zsh 自定义提示(cygwin)中呈现时,一些表情符号图标被切成两半,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17754464/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com