Я бегаюТиликна Arch Linux. У меня проблемы с отображением эмодзи при запуске vim или tmux, хотя в том же терминале все работает правильно, когда vim или tmux не запущены.
Для демонстрационных целей у меня есть скрипт оболочки, smile
который выглядит следующим образом:
#!/bin/sh
echo '
решение1
Вам нужен правильный Unicode на всем пути вверх по стеку от OS-Locale, до Terminal, до Tmux, до Vim. Каждая часть цепочки должна поддерживать Unicode должным образом.
Для вашей ОС-локали
вам нужно что-то вроде:
set LANG="en_US.UTF-8"
Для Tmux
Попробуйте запустить tmux с помощью tmux -u
, как предложил Джон. Если это не сработает, то вам, возможно, придется проверить файлы конфигурации .tmux.conf
или сбросить настройки до значений по умолчанию.
ДЛЯ ВИМ
Вам необходимо скомпилировать vim с поддержкой многобайтовой кодировки.
Самый простой способ сделать это — запустить
./configure --with-features=big
make
Это позволит собрать vim с правильной поддержкой.
Вы можете проверить, что он был скомпилирован правильно, с помощью
:version
в vim или запустив
vim --version
и ищем +multi_byte
. Если он говорит, -multi_byte
что это не будет работать.
решение2
Попробуйте запустить tmux с флагом -u, чтобы включить кодировку Unicode.