Эмодзи отображаются неправильно при использовании vim или tmux

Эмодзи отображаются неправильно при использовании vim или tmux

Я бегаюТиликна 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.

Связанный контент