开发工具 vim 插件 Powerline 疑问

xautjzd · 2013年08月16日 · 最后由 acgtyrant 回复于 2013年08月27日 · 25721 次阅读

powerline 插件已经多次听人提起过,在学习 vim 的过程中也经常见到,但是一直没去尝试使用。昨晚在学习 vim 的过程中,头脑一热,便去尝试安装了,结果没达到预期效果,请帮忙看看是哪出了问题。

我的步骤如下:

1.Install 由于我已经安装了 vundle,所以我在~/.vimrc 中添加了: Bundle 'Lokaltog/powerline' 然后重启 vim,再进入执行:BundleInstall 安装,安装很顺利

2.Config 紧接着在我的 vimrc 中进行了如下配置:

let g:Powerline_symbols = 'fancy'
set laststatus=2
set noshowmode
set t_Co=256

结果效果没出现,于是搜了下答案,说需要安装字体,于是我执行: yum install rxvt-unicode-256color进行安装。但是安装完成后并且重启了 vim,还是没出现效果,请问这是什么原因呢?

需要安装 patch 过的字体 https://github.com/Lokaltog/powerline-fonts

rxvt-unicode-256color 只是安装 urxvt。安装好后通过 Xresources 配置字体。如果用 gvim 可以直接在 vim 里设置字体。

#1 楼 @doitian 安装也是通过 Bundle 么?然后 Xresources 如何配置呢

用我这个配置试试呢,

set guifont=PowerlineSymbols\ for\ Powerline
set nocompatible
set laststatus=2
set t_Co=256
let g:Powerline_symbols = 'fancy'
let Powerline_symbols='compatible'

#2 楼 @xautjzd 字体安装顺便搜索下,各种系统的教程都有。字体设置看你是用终端里的 vim 还是 gvim 了。gvim 用 guifont 可以直接设置字体,终端需要设置终端的字体。像 gnome-terminal konsole 都能直接设置字体的,urxvt, xterm 这类只能通过 Xresources 设置

#4 楼 @lidashuang powerline 与 airline 差不多吧

#5 楼 @doitian 您的意思是效果没出来是字体没有安装是么

#7 楼 @xautjzd 如果 mode line 布局已经改了,但是没有三角形的效果的话是字体没安装。

#8 楼 @doitian mode lien 不是很懂,改没改怎么看出效果呢?自从装系统后,我没手动装过字体。然后按照您给的链接,看里面的提示,但也没找到~/.fonts.conf.d 或者~/.config/fontconfig/conf.d 目录,这些都需要手动建还是系统应该默认就有的?

airline 吧 速度快不少

#10 楼 @lihuazhang 依然得安装字体是吧?

#11 楼 @xautjzd 我用的 xubuntu 和 mac 都没装字体。。。

#9 楼 @xautjzd status line

生效的话就是主页上显示的那效果,最左边显示状态,右边显示滚动条位置行数等。

字体的文件夹需要自己创建。

#13 楼 @doitian 那我的貌似没生效。我现在 mode line 只有 vim 打开的文件名,光标所在的行和列,然后%,像 mode ,unix utf-8 等都没显示。

#12 楼 @lihuazhang 那我试试,谢谢你的推荐。顺带问下,你的图怎么传上来的。我其实想传图上来,描述很难描述清楚,但不会

#15 楼 @xautjzd 右上角啊,提交回复按钮的左上一点。

没有设置 statuslien 的情况下效果如上

#16 楼 @lihuazhang 换成了 airline 效果立马出来

请看 airline 的 README StatusLine 主题可以找的

必须安装 github 上修改的字体,powerline 中的特殊效果其实是修改字体中的特殊符号。没装字体 powerline 也有效果,特殊效果没有。

我整理过一篇 powerline 的文章,也许能帮上 LZ http://blog.zhen9ao.me/blog/2013/08/08/pei-zhi-powerline/

#22 楼 @zhen9ao 请问您的 powerline 用 vundle 管理没

#23 楼 @xautjzd 没用 Vundle,按那个作者的文档里面的方法配置的

#24 楼 @zhen9ao 用 vundle,配置方法不同的,vundle 管理插件十分方便,推荐您用一下

#25 楼 @xautjzd 我其他插件都是用 Vundle 管理的,现在的 powerline 还需要安装一个 python 的工具才能用,也许可以用 Vundle,单还是要装 python 的那个工具呢

真巧,在搜索 powerline 相关 troubleshotting 时,发现了这前一天刚刚发布的问题。

Lokaltog 先生开发的 powerline 比原来的 vim-powerline 有更多的支持,在下很中意,便飞掉后者,开始尝试 powerline。

按作者的说法,powerline 里的三角符号要正常显示,得自行配置 gvim 或 terminal emulator 的字体为 patched font,tmux、zsh、vim 又与后者紧密相关。现在已经通过在.vimrc 配置 gvim 成功,用的是位于~/.fonts 里的 Droid Sans Mono for Powerline 字体,它自然是官方提供的 patched font。

但是配置 urxvt 就遇到了挫折,始终无法在 terminal emulator 正常显示三角符号!鄙人的.Xresouces 中字体设置如下: URxvt*font: xft: Dejavu Sans Mono:bold, xft:Droid Sans Mono for Powerline:pixelsize=15, xft:WenQuanYi Micro Hei Mono:pixelsize=15

不知是不是由于 Droid Sans Mono for Powerline 为 otf 字体的缘故,请配置 urxvt 成功的前辈说一说如何解决?谢谢!

#28 楼 @acgtyrant 果断转 airline 吧,效果类似,几乎不用配置

#29 楼 @xautjzd 试了下,发现为了显示完美的三角符号,还得配置 Patched Font 啊。

@xautjzd 请问您如何设置字体的?鄙人到现在依然没配置成功,symbol 全成方块。

#31 楼 @acgtyrant 你是用的 airline 还是 powerline?我直接用 vundle 装的 airline,没有字体的配置

powerline 是作者现在最新维护的一个项目。老版本的 vim-powerline 已经停止更新了,楼主若果没特殊要求的话,可以继续用老版本的 vim-powerline, 或者直接换 airline

#33 楼 @gonglexin 谢谢回答,我已经换成 airline 了,用 vundle 安装后,不需要配置即可。但是出来的效果没有三角符号,只是>这种效果,网上找了下,说是和主题相关,我用的是 molokai,也是用 vundle 直接安装的。请问是这个原因么

#34 楼 @xautjzd 应该是没有装 patch fonts 的原因

#34 楼 @xautjzd 按照 powerline 那样安装好字体之后,在.vimrc 加上let g:airline_powerline_fonts=1,就可以让 airline 用 powerline 的箭头了

https://powerline.readthedocs.org/en/latest/installation/linux.html#font-installation

#36 楼 @reus 安装好字体之后还是没效果。我的步骤如下:

$mkdir -p ~/.fonts/ && mv PowerlineSymbols.otf ~/.fonts/
$fc-cache -vf ~/.fonts
$mv 10-powerline-symbols.conf ~/.fonts.conf.d

然后下载powerline-fonts

$cd ~/.fonts
$git clone [email protected]:Lokaltog/powerline-fonts.git
$fc-cache -vf ~/.fonts

生命不息 折腾不止

大家装 powerline airline 觉得最有用的功能是什么?

我怎么觉得这插件有点鸡肋..

#28 楼 @acgtyrant urxvt 编译时开了--enable-unicode3 吗?另外 urxvt 并不是所有的 patch font 都能正常渲染,我在 arch 上只试到一种:

URxvt.font:                  xft:Meslo LG M for Powerline:regular:size=14

最后建议换个 terminal :)

Ref. https://powerline.readthedocs.org/en/latest/overview.html

#41 楼 @jan 开了的,但在下的 tmux-powerline & zsh-powerline & vim-powerline 均能正常渲染,看来想必是 airline 的问题,

#39 楼 @yeerkunth 光是与每个 status 绑定的不同背景色就能加快大脑接受信号速度。若在以往的编辑中,每次状态切换时都要看下 status 具体是什么,但用上 powerline 后就只需在眼角瞥一下就可以了,无须把眼球焦点从 cursur 移开。

据所作者说,它还对不少第三方插件有加强作用。

首当其冲的,主要还是愉悦感吧。

44 楼 已删除

#41 楼 @jan 直接跑去 Github 项目提交 issue,一举解决了。

简而言之,airline 调用的 powerline symbol 字符并不从属 tmux-powerline & zsh-powerline 所用的 patched font,在鄙人这种情况下得自行打开 :h airline 并按 customization 这节把所需要的 old powerline symbol 手动添加进 .vimrc.

需要 登录 后方可回复, 如果你还没有账号请 注册新账号