我安装了Airline插件是为了拥有一个自定义状态栏,如下图所示: >和<。如何解决此问题?







评论

使用everythingfonts.com/otf-to-ttf将字体转换为ttf,例如:旧的XShell版本不支持otf。

为了获得最大的兼容性,我不使用airline_powerline_fonts。我认为它们真的没那么有用。

#1 楼

起初,我也不太了解如何获得这个漂亮的工具栏。是的,我知道自述文件和其他内容,但是我认为帮助文件中应该有一个getting startedminimum settings部分。
无论如何这里都是设置。将带有分支,大三角形等符号的字体安装到系统中。它们不是标准符号,因此您需要安装修补字体。您可以在这里找到很多修补字体:https://github.com/powerline/fonts。

.vimrc设置
:help airline-customization将此代码放入.vimrc文件:
" air-line
let g:airline_powerline_fonts = 1

if !exists('g:airline_symbols')
    let g:airline_symbols = {}
endif

" unicode symbols
let g:airline_left_sep = '»'
let g:airline_left_sep = '▶'
let g:airline_right_sep = '«'
let g:airline_right_sep = '◀'
let g:airline_symbols.linenr = '␊'
let g:airline_symbols.linenr = '␤'
let g:airline_symbols.linenr = '¶'
let g:airline_symbols.branch = '⎇'
let g:airline_symbols.paste = 'ρ'
let g:airline_symbols.paste = 'Þ'
let g:airline_symbols.paste = '∥'
let g:airline_symbols.whitespace = 'Ξ'

" airline symbols
let g:airline_left_sep = ''
let g:airline_left_alt_sep = ''
let g:airline_right_sep = ''
let g:airline_right_alt_sep = ''
let g:airline_symbols.branch = ''
let g:airline_symbols.readonly = ''
let g:airline_symbols.linenr = ''

如果您已经有修补的字体,则在这里不需要unicode symbols部分,但是如果您尝试使用没有适当符号的其他字体,则会给您一个很好的后备。
字体设置
如果在终端中使用Vim,则应在终端的配置文件首选项中切换到相应的字体。
如果使用Vim的gui版本(MacVim,GVim),则需要在.vimrc中设置字体:set guifont=DejaVu\ Sans:s12。您可以在:help guifont中找到更多信息。

评论


你好,亚历山大。我按照他的指示进行操作,但仍然无法获得预期的结果:首先从电力线的站点安装了字体。然后,我在.vimrc文件中进行了设置。我的.vimrc文件已在gist.github.com/geisonsn/641f13543b8b41fe2c12中共享。我正在使用Vundle Manager插件。

– Geison Santos
15年5月22日在15:58



@AlexanderMyshov,您已经重复了配置行,其中每两个仅需要第二个。

–游客
2015年5月23日,下午2:06

刚刚在vi.stackexchange上创建了一个帐户,以感谢您并赞成您的这个好答案。感谢您使我获得数千次搜索。

– 0decimal0
15年8月30日在19:54

我认为应该有一个“入门”或“最低设置”部分……我不知道它是否会被删除,但我根据我的回答向《虚拟航空》维基添加了《虚拟人指南》。

–icc97
18年6月18日在11:42



@AlexanderMyshov您设置为让g:airline_left_sep,让g:airline_right_sep,让g:airline_symbols.branch nad两次让g:airline_symbols.linenr ...

– 71GA
20-4-2在6:42



#2 楼

在自述文件中:


与电力线字体集成

为了使电力线符号看起来美观,您需要安装修补字体。可以在电力线官方文档中找到说明。预修补的字体可以在powerline-fonts存储库中找到。

最后,您可以将便利变量let g:airline_powerline_fonts = 1添加到vimrc中,该变量将自动用电力线符号填充g:airline_symbols字典。


评论


我发现让g:airline_powerline_fonts = 1是不够的。由于某些原因,这仍然不会自动填充g:airline_symbols,因此我不得不根据Alexander Myshov的答案手动填充字典。

–icc97
18年6月17日在16:35

#3 楼

这需要花几个小时才能弄清楚,因此,这里有更多有关Fedora / Ubuntu的虚拟指南,其中有Windows的特殊部分。出现在vim-航空公司状态栏中。背景是,airline是电力线的纯vim版本(是python),电力线使用UTF-8字符插入这些尖括号。因此,vim-airline仅使用相同的UTF-8字符。 />
配置Vim

这与官方说明相反,但是最后我有一点错误,这使我对所有字体安装都提出了疑问。因此,我建议您先进行配置,然后再使字体正常工作。

最后的技巧是强制vim-airline使用所需的字体。在官方文档中,应该仅在let g:airline_powerline_fonts = 1中添加.vimrc。但是我做到了,没有运气。在:help airline-customization中有更多信息,以防万一,它为您提供了一些所需的简单配置设置。这是我需要的最后的魔术酱。我不知道为什么它不是自动创建的。在此处复制并粘贴Alexander Myshov接受的答案中提及的设置。持续工作,然后才能简化它。



安装通用电力线字体sudo dnf install powerline-fonts(或sudo apt install fonts-powerline)-这应该意味着您可以使用已经安装的任何字体。如果您没有像dnf / apt这样的简单安装方法,则有手动进行安装的说明,例如https://www.tecmint.com/powerline-adds-powerful-statuslines-and-prompts-to-vim-and-bash/,官方文档也有说明(https://powerline.readthedocs.io/en/最新/installation/linux.html#fonts-安装)。

现在关闭终端,重新打开并检查Powerline符号字体是否可用(如果您编辑终端首选项并设置自定义字体)。您不想直接使用该字体,只需检查它是否可用。现在尝试打开Vim,看看您是否有漂亮的符号。字体,这花了一些时间才弄清楚,但是您可以从字面上直接转到https://github.com/powerline/fonts/中所需的文件夹并下载它,这是我在测试中最喜欢的字体是Source Code Pro修补字体。然后,只需打开下载的字体文件并单击“安装”即可。

如果您希望使用命令行,则可以安装所有修补的字体:

 $ git clone https://github.com/powerline/fonts.git --depth=1
 $ fonts/install.sh
 $ rm -rf fonts


这将安装所有修补的mono字体,但是这使您有机会探索可能的字体。它安装的字体列表是可用源代码字体的一个很棒的列表。这也意味着您不必费力安装要包含的每种字体。

检查是否可以在终端首选项中指定字体,如果需要,请重新打开终端会话。缺少字体,因此请注意这里可能有两个选项:


通用电力线字体有效,在这种情况下,您可以只使用基本字体,例如DejaVu Sans Mono
如果您无法使用上面下载的修补字体,则应该是正确的,例如




调整Linux

一旦我第一次真正使用它,确实令人失望,因为图标不完全匹配。但是根据常见问题解答,我们需要进行一些调整。我从Inconsolata开始,因为这为我在Windows和Linux上提供了一致的字体。您可以使用apt install fonts-inconsolata在Ubuntu上轻松安装常规字体。这就是我得到的: />
然后我尝试了所有其他默认的Ubuntu字体。

Ubuntu mono:



DejaVu Sans Mono:



此按钮的垂直位置正确,但右侧箭头后面有空格。

为什么使用修补字体>
使用默认字体取决于Powerline字体来自动修补现有字体。但是,您可以通过使用修补字体来改善航空公司符号的外观。这些是使用修补字体的等效字体。

我喜欢以较大的字体来显示所有这些字体,字体大小为16。此外,它还会显示一些小问题。适用于Powerline:



这仍然存在问题,但几乎可以通过dz变体解决。 :



在右侧箭头上有发际线断裂,但是很完美。 br />


这仍然有烦人的问题。
这在右侧箭头上有一条发际线断裂,但在其他方面还是完美的。我实际上更喜欢Inconsolata-dz,因为LN图标更具可读性。

在这些常规代码之上,我尝试了几乎所有可用的字体,而我最喜欢的是Source Code Pro。

Powerline Medium的Source Code Pro br />在箭头16处确实存在问题,箭头太大,但在箭头14处几乎没有引起注意。分支和LN图标的确溢出到底部,但这在某种程度上并没有使我感到烦恼。 >这几乎完全解决了中等字体箭头大小的问题,并使之完美,尽管仍然存在图标溢出的问题。

源代码专业版字体选项有几处您会注意到,某些字体补丁在细节上具有绝对最低限度,如果将此与Source Code Pro列表进行比较,则非常重要。 Source Code Pro是一种非常详细和完整的字体,已被认为可以在多种情况下使用。这种完整性对于边缘情况很重要。

作为修补字体,它几乎完美地显示了vim-airline栏。这么多替代方案的好处是使用了浅色字体,该字体可以更好地显示vim-airline栏。

还在Adobe Github存储库上继续进行开放源代码开发。

处理Windows的精美花朵(假设使用GVim)

Powerline字体不适用于Windows,因此您唯一的选择是使用修补字体。同样,bash脚本无法安装所有字体,因此您必须执行相同的操作,然后进入每个目录并安装所需的字体。

我下载了所有Source Code Pro修补字体并安装它们。即使将它们安装为单独的字体,它们也会作为单个字体“ Powerline的Source Pro”添加到Windows中,并带有单独的属性来指定粗细。然后(假设GVim)将其添加到您的git clone中:

set guifont=Source\ Code\ Pro\ for\ Powerline:h15:cANSI


如果要使用“ Light”字体,请使用此字体。

set guifont=Source_Code_Pro_Light:h15:cANSI


它并没有多大意义,因为它不需要包含“ for Powerline”,但这就是它的工作方式(我通过设置来确定GVim中的字体,然后使用.vimrc检查使用的GVim)。我还发现当您使用GVim切换字体时,字体渲染不是很好。最初,我不喜欢Light字体,因为当我使用GVim菜单切换时,它的显示效果很差,但是如果将以下内容放入set guifont?中并重新启动GVim,它应该看起来很可爱。可以将您的DOS / Powershell提示符设置为相同的字体。然后,使用补丁字体,也可以使Powerline在DOS的常规Vim中工作。 />



#4 楼

重新安装Vim后,我遇到了同样的问题:我的旧修补字体与新的航空公司符号不兼容。

帮助中也提到了旧符号(:help airline-customization):

评论


赞!目前对我来说最好,只是这些符号有点高

–ryenus
17年6月29日在1:16

您需要先定义字典:让g:airline_symbols = {}

– PerseP
18 Mar 5 '18 at 13:36