Powerline是使用Python所开发的一个外挂小工具,支援各种常见的Shell与应用程式,可以产生非常漂亮的提示字串与状态列文字,让终端机的文字看起来更舒服。除了Vim 之外也可以用于各种Shell 与应用程式中,如zsh
、bash
、tmux
、IPython
、Awesome
与Qtile
。
安装Powerline
Powerline 在使用前需要进行一些安装步骤。
自动安装
如果您是使用Ubuntu Linux 14.10以后的版本,建议可以直接使用universe repository所打包好的套件自动安装:
1 | sudo apt-get install powerline |
手动安装
安装pip和git
首先安装Python的pip与git,若是Debian系列的 Linux(Ubuntu、Mint)则可用 apt 安装 python-pip 与 git 套件:
1 | sudo apt-get install python-pip git |
Red Hat系列的Linux(CentOS、RHEL、Fedora),则可使用yum 安装:
1 | sudo yum install python-pip git |
若是Fedora Linux 22以后的版本,则可用dnf安装:
1 | sudo dnf install python-pip git |
安装Powerline
使用pip安装Powerline:
1 | pip install --user powerline-status |
如果要取得最新的开发者版本,可以执行:
1 | pip install --user git+git://github.com/powerline/powerline |
Teriminal字体配置
执行完上面两步后,不出意外powerline就已经开始工作了。但是你会发现Bash提示符会和下图一样是一些非常恶心的符号,
出现这样情况的原因是powerline为了美观自己造了一些符号,而这些符号不在Unicode字库内。所以想要powerline正常显示的话,需要安装特殊处理过的字体。
1.Linux、MAC下字体配置
方法一
下载最新的Powerline字型以及fontconfig字型设定档:
1 | wget https://github.com/powerline/powerline/raw/develop/font/PowerlineSymbols.otf |
将PowerlineSymbols.otf这个字型放进自己的字型目录:
1 | mv PowerlineSymbols.otf ~/.fonts/ |
更新字型缓存:
1 | fc-cache -vf ~/.fonts/ |
将字型设定档放进适当的目录:
1 | mv 10-powerline-symbols.conf ~/.config/fontconfig/conf.d/ |
方法二
github上已有大部分打上了powerline patch的常用的等宽字体,首先我们从github上下载并安装字体:
1 | #推荐字体Sauce Code Powerline Semibold.otf |
安装完成后我们就可以在iTerm2或者Terminal的字体选项里看到并选择多个xxx for powerline的字体了。*注意:对于ASCII fonts和non-ASCII fonts都需要选择for powerline的字体。如下图:
2.Windows字体
Win7
1 | git clone https://github.com/eugeii/consolas-powerline-vim.git |
安装这几个字体到系统fonts文件夹下即可。
PS:区分两个系统不同的字体下载是因为网上有文档说在Windows下安装powerline fonts有可能不生效。我WIN10实测powerline fonts中的字体也可用于Windows系统。
使用Powerline
以下介绍Bash Shell与Vim 的使用方式,其他的应用可参考Powerline官方的说明文件。
查看powerline所处的具体路径
1 | #pip show powerline-status |
Bash Shell
方法一
安装好Powerline之后,若要在Bash Shell中使用,只要在~/.bashrc 中加入下面这段程式码:
1 | POWERLINE_SCRIPT=/usr/lib/python2.6/site-packages/powerline/bindings/bash/powerline.sh |
然后再关闭终端机,重新开启(或是登出再登入)后就可以看到Powerline的效果了。
方法二
配置方法很简单,只需要在Bash配置文件(例如:/etc/bashrc,/.bashrc,/.bash_profile)中增加一行调用安装路径下的bindings/bash/powerline.sh即可。这样每次调用生成新的Bash窗口时,都会自动执行powerline.sh文件中的内容。下面以~/.bash_profile为例:
1 | shell> echo << EOF >> ~/.bash_profile |
注意:根据python安装方式的不同,你的powerline所在路径也可能不同。如果你是通过python官网或者apple store通过安装工具安装的python,那么你的powerline安装路径就是/Library/Python/2.7/site-packages/powerline/
。如果你是通过brew install python
的话,那么你的powerline路径可能会有不同。请根据实际情况修改上面的命令。
ZShell
安装好Powerline之后,若要在ZSH Shell中使用,只要在~/.zshrc中加入下面这段程式码:
1 | POWERLINE_SCRIPT=/usr/lib/python2.6/site-packages/powerline/bindings/zsh/powerline.zsh |
然后再关闭终端机,重新开启(或是登出再登入)后就可以看到Powerline的效果了。
Oh-My-Zsh
如果你用Oh-My-Zsh就更方便了,oh-my-zsh本身的agnoster主题就支持Powerline
这里推荐几个好用的OMZ主题
1.oh-my-zsh-powerline-theme
项目地址:https://github.com/jeremyFreeAgent/oh-my-zsh-powerline-theme
安装
1 | git clone https://github.com/jeremyFreeAgent/oh-my-zsh-powerline-theme |
安装完之后记得再zshrc中加入
1 | ZSH_THEME="powerline" |
如果要更多定制化设定可以参考repo内的设定
2.bullet-train-oh-my-zsh-theme
项目地址:https://github.com/caiogondim/bullet-train-oh-my-zsh-theme
安装
1 | git clone https://github.com/caiogondim/bullet-train-oh-my-zsh-theme.git |
安装完之后记得再zshrc中加入
1 | ZSH_THEME="bullet-train" |
Vim中使用Powerline
若要在Vim的状态列中使用Powerline,则在~/.vimrc 中加入这几行:
方法一
1 | vim ~/.vimrc |
方法二
1 | vim ~/.vimrc |
注:set rtp+=/usr/lib/python2.6/site-packages/powerline/bindings/vim/
需要按照自己的powerline实际安装情况调整。
方法三
1 | set rtp+=/usr/lib/python2.6/site-packages/powerline/bindings/vim/ |
方法四
1 | set rtp+=/usr/lib/python2.6/site-packages/powerline/bindings/vim/ |
注意事项
使用Powerline需要在vimrc中设置set laststatus=2
Powerline中的分隔符实际上是特殊字体,如果显示错误请下载修改过的字体:https://gist.github.com/1595572
参考文档
http://www.google.com
http://blog.gtwang.org/linux/powerline-adds-powerful-statuslines-and-prompts-to-vim-and-bash/
http://lee-w-blog.logdown.com/posts/210946-powerline-on-zsh-vim-tmux
https://github.com/powerline/powerline
http://blog.csdn.net/little__zm/article/details/21786773
http://hessian.cn/p/1026.html