我在跑步蒂利克斯在 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 编码