Установлены исправленные шрифты Powerline (Windows Putty) и символы, работающие с VIM, но НЕ bash
В настоящее время приглашение bash отображается как цветная версия, но без глифов, т.е.
?username???/???opt???path1???path2???
vim
работает как положено; правильный глиф для жестких разделителей.
Ожидаемые глифы видны, если я cat
powerline.json
файлы с жесткими разделителями кодов.
Первоначально он не отображался в vim, пока я не установил пропатченный шрифт для замазки. Даже тогда это все еще не было видно в приглашении оболочки, однако я, по крайней мере, показываю вопросительные знаки, устанавливая локаль (см. В конце) и повторно копируя основной конфиг:
/usr/lib/python2.7/site-packages/powerline/config_files/config.json
в
~/.config/powerline/config.json
Вызов powerline с использованием:
POWERLINE_BASH_CONTINUATION=1 POWERLINE_BASH_SELECT=1 source /usr/lib/python2.7/site-packages/powerline/bindings/bash/powerline.sh
Это внутри экземпляра докера, использующего образ centos7, с Powerline, установленным с использованием pip
согласно инструкциям по настройке основного репозитория powerline git. Я должен был добавить локаль к голому изображению:
localedef -i en_GB -c -f UTF-8 en_GB.UTF-8
И я изменил язык на:
LANG=en_GB.utf-8
LC_CTYPE="en_GB.utf-8"
LC_NUMERIC="en_GB.utf-8"
LC_TIME="en_GB.utf-8"
LC_COLLATE="en_GB.utf-8"
LC_MONETARY="en_GB.utf-8"
LC_MESSAGES="en_GB.utf-8"
LC_PAPER="en_GB.utf-8"
LC_NAME="en_GB.utf-8"
LC_ADDRESS="en_GB.utf-8"
LC_TELEPHONE="en_GB.utf-8"
LC_MEASUREMENT="en_GB.utf-8"
LC_IDENTIFICATION="en_GB.utf-8"
LC_ALL=en_GB.utf-8
Я ценю любую помощь, чтобы попытаться исправить это, и любые советы о том, как помочь диагностировать проблему (даже исправления кода) приветствуются.
Можно ли, например, распечатать текущую тему и какие файлы конфигурации используются?
Похоже, что это может быть проблема с механизмом рендеринга или несовместимость с bash (GNU bash, версия 4.2.46(2)-релиз (x86_64-redhat-linux-gnu))?
РЕДАКТИРОВАТЬ (1): Использование echo $PS1 | od -c -t x1
похоже, что вопросительные знаки находятся в самой подсказке. Возможно, проблема с механизмом визуализации Powerline?
1 ответ
Это решение, предоставленное ZyX-I на github.com/powerline/powerline, смотрите ниже. Я поднял проблему с git на странице отчетов об ошибках Powerline.
По сути это сводится к демону Powerline, который я начал до исправления локали (export LC_ALL=en_gb.utf8
) быть кодировкой utf8, а не стандартным языком POSIX, который использует кодировку ascii.
Для моих целей демон не был необходим, поэтому я просто убил его, но если вы используете его, вам нужно будет убедиться, что локаль установлена правильно перед выполнением. См. Поднятый вопрос для получения дополнительной информации, упомянутой ранее для получения дополнительной информации.