使用 vim 或 tmux 时表情符号无法正确显示

使用 vim 或 tmux 时表情符号无法正确显示

我在跑步蒂利克斯在 Arch Linux 上。运行 vim 或 tmux 时,我遇到了表情符号显示问题,尽管在不运行 vim 或 tmux 时,同一终端上一切正常。

为了演示目的,我有一个名为的 shell 脚本smile,如下所示:

#!/bin/sh

echo '

答案1

从 OS-Locale 到 Terminal、Tmux 到 Vim,整个堆栈都需要正确的 Unicode。链中的每个部分都必须正确支持 Unicode。

针对您的操作系统区域设置

你需要这样的东西: set LANG="en_US.UTF-8"

对于 Tmux

尝试使用 启动 tmux tmux -u,就像 Jon 建议的那样。如果不起作用,那么您可能需要检查配置文件.tmux.conf或重置为默认值。

对于 VIM

您需要编译具有多字节支持的 vim。

最简单的方法是运行

./configure --with-features=big
make

这将构建具有正确支持的 vim。

您可以使用以下命令验证它是否已正确编译

:version

在 vim 中或者运行

vim --version

并寻找+multi_byte。如果它说-multi_byte它将不起作用。

答案2

尝试使用 -u 标志启动 tmux 以启用 unicode 编码

相关内容