Unicode 字符在终端中没有正确的宽度

Unicode 字符在终端中没有正确的宽度

并非所有 unicode 字符都会发生这种情况,但剪刀确实会发生:✂️ 这似乎是一个与字体无关的问题,因为我尝试了多种不同的等宽字体,并用“Nerd 字体”进行修补和取消修补(我确实尝试了系统默认的等宽字体)

neovim: neovim 中的剪刀表情符号剪刀在 neovim 中与下一个字符重叠

vscode: 在 vscode 中呈现的剪刀表情符号使用不同的字符/表情符号集,但看起来 vscode 的渲染方式不同,因为没有重叠

编辑: 剪刀表情符号已正确呈现渲染效果符合我的预期:无重叠

终端: 终端中的剪刀表情符号 和 neovim 有同样的问题

github:https://github.com/NullVoxPopuli/dotfiles/blob/75ad3987e4eaa550e7dfb70a37ffe2b756594bd9/home/scripts/unme

GitHub 上剪刀表情符号的渲染 Firefox 中的 GitHub 看起来正确

有没有办法配置终端以具有一致的表情符号/unicode 宽度/渲染?


根据评论者的要求,提供附加信息:

❯ locale
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

我的 .bashrc 几乎是空的,只有

[ -f ~/.fzf.bash ] && source ~/.fzf.bash

export PNPM_HOME="/home/nullvoxpopuli/.local/share/pnpm"
export PATH="$PNPM_HOME:$PATH"

~/.fzf.bash(我认为这是默认的?/自动为我生成?)

# Setup fzf
# ---------
if [[ ! "$PATH" == */home/nullvoxpopuli/.fzf/bin* ]]; then
  export PATH="${PATH:+${PATH}:}/home/nullvoxpopuli/.fzf/bin"
fi

# Auto-completion
# ---------------
[[ $- == *i* ]] && source "/home/nullvoxpopuli/.fzf/shell/completion.bash" 2> /dev/null

# Key bindings
# ------------
source "/home/nullvoxpopuli/.fzf/shell/key-bindings.bash"

我的终端在首选项中选中了“以登录 shell 身份运行命令”,因此我使用~/.bash_profile它,该文件在这里:https://github.com/NullVoxPopuli/dotfiles/blob/main/home/.bash_profile (而且相当大/引入了一些其他自定义脚本)

然而,我确认注释掉全部内容~/.bash_profile并打开新终端后,问题仍然存在。

答案1

也许你可以在 GNOME 终端中调整此设置编辑->优先

GNOME 终端偏好设置

相关内容