安装了Powerline修补字体(windows putty)和使用VIM的符号,但不是bash

时间:2017-11-10 14:19:22

标签: powerline

目前bash提示显示为彩色版本,但没有字形,即:

?username???/???opt???path1???path2???

vim按预期工作;硬分隔符的正确字形。

如果cat powerline.json个文件带有硬分隔符代码,

最初它没有在vim中显示,直到我为putty安装了修补字体。即便如此,它仍然在shell提示符下不可见,但是我至少通过设置语言环境(参见结尾)并重新复制主配置来显示问号以显示

/usr/lib/python2.7/site-packages/powerline/config_files/config.json 

 ~/.config/powerline/config.json

使用以下方式拨打电力线:

POWERLINE_BASH_CONTINUATION=1 POWERLINE_BASH_SELECT=1 source /usr/lib/python2.7/site-packages/powerline/bindings/bash/powerline.sh

这是在使用centos7映像的docker实例中,根据主电源线git存储库的设置说明使用pip安装powerline。我确实必须将语言环境添加到裸骨图像中:

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)-release(x86_64-redhat-linux-gnu) )?

编辑(1): 使用echo $PS1 | od -c -t x1,看起来问号就在提示中。电力线渲染引擎的问题可能是什么?

1 个答案:

答案 0 :(得分:0)

这是由github.com/powerline/powerline上的 ZyX-I 提供的解决方案,请参阅我提出的以下问题a git issue on the powerline bug reporting page

它基本上归结为我在将区域设置(export LC_ALL=en_gb.utf8)更正为utf8编码之前启动的powerline守护程序,而不是使用ascii编码的默认POSIX语言环境。

为了我的目的,守护进程不是必需的,所以我只是将其杀掉,但是如果你使用它,那么你需要确保在执行之前适当地设置了语言环境。有关详细信息,请参阅前面提到的raised issue for more information