Powerline

Powerline
is a statusline plugin for Vim, and provides statuslines and prompts for several other applications, including zsh, bash, fish, tmux, IPython, Awesome, i3 and Qtile.
Installation
Install
powerline
and
powerline-fonts
.
Note
Installing
powerline-fonts
does not provide any of the patched fonts from
powerline-fonts-git
AUR
Usage
Bash
Add the following to your
bashrc
:
~/.bashrc
powerline-daemon -q
POWERLINE_BASH_CONTINUATION=1
POWERLINE_BASH_SELECT=1
. /usr/share/powerline/bindings/bash/powerline.sh
Close and reopen your terminal and it should be working. If not, check the
Powerline bash prompt
usage instructions to ensure that it has not changed.
Tip
You can also
source
it afterwards if you do not want to close and re-open your terminal.
Zsh
Add the following to your
zshrc
:
~/.zshrc
powerline-daemon -q
. /usr/share/powerline/bindings/zsh/powerline.zsh
Note
If you are using
oh-my-zsh
, you should delete or comment out the
ZSH_THEME=
oh-my-zsh theme
"
line in your
~/.zshrc
. Similarly if you are using
grml-zsh-config
, do not forget to insert
prompt off
before the above addition.
Fish
Add the following to your
config.fish
:
~/.config/fish/config.fish
set fish_function_path $fish_function_path "/usr/share/powerline/bindings/fish"
source /usr/share/powerline/bindings/fish/powerline-setup.fish
powerline-setup
This will activate the next time you enter Fish.
Tmux
Add the following to your
tmux.conf
:
~/.config/tmux/tmux.conf
source /usr/share/powerline/bindings/tmux/powerline.conf
Note
It is sufficient to just add this to the tmux configuration: adding anything to your shell configuration is not necessary.
Watch out for interfering styles in the tmux configuration (i.e.
window-status-format
).
Vim
Install
vim-powerline
.
Note
If you have more than one version of python installed, add
let g:powerline_pycmd="py3"
or
let g:powerline_pycmd="py"
to your
.vimrc
.
Tip
By default, the statusline (and therefore Powerline) only appears when there are multiple windows open. To show it all the time, use
:set laststatus=2
This package installs Powerline to
/usr/share/vim/vimfiles/plugin
, which vim is configured to check by default, meaning this will install Powerline in vim for all users and may require additional configuration. If this is not intended, consider either using a vim plugin manager, or installing the
powerline
package and adding
set rtp+=/usr/share/powerline/bindings/vim
to your
.vimrc
.
Detailed usage
For detailed usage instructions, such as configuring your system to use Powerline with other shells, window manager widgets, etc., please refer to the
Usage section
of the
Powerline documentation
.
Customizing
The official
Powerline documentation
refers to
powerline_root
, which for Arch Linux is the following:
/usr/lib/python3.
x
/site-packages/powerline
To customize Powerline, copy a default configuration to
$XDG_CONFIG_HOME/powerline/...
. Then edit the file to your liking.
Example to customize Powerline for
tmux
:
$ mkdir -p ~/.config/powerline/themes/tmux/
$ cp /usr/lib/python3.
x
/site-packages/powerline/config_files/themes/tmux/default.json ~/.config/powerline/themes/tmux/default.json
Tips and tricks
Alternative installation
Using python-pip
Install
python-pip
Please refer to the
Powerline installation guide
for additional python-pip instructions
Using a vim plugin manager
There are many vim plugin managers available which are able to install and update Powerline, assuming you are using a version of vim with Python support or you install
python
. For example, using
vim-plug
AUR
, add the following to your
.vimrc
file:
~/.vimrc
call plug#begin('
path/to/vim/plugins/directory
')

Plug 'powerline/powerline'

call plug#end()
Substitute
path/to/vim/plugins/directory
with the actual directory, such as
~/.vim/plugged
, and run the vim-plug command
:PlugInstall
within vim. This will download Powerline from the
Powerline GitHub page
to the specified plugin directory and add it to vim.
Note
Powerline does not support Neovim yet: see
Add support for NeoVim
.
Alternative fonts
A reduced set of fonts for the text console are available in
powerline-console-fonts
AUR
.
Alternative package
There is currently one known alternative to Powerline —
Vim-airline
. It is a part of
vim-plugins
and can be installed separately as
vim-airline
AUR
. Optionally, install
vim-airline-themes
AUR
.
Note
In
vim-airline
AUR
, showing the current git branch relies on
vim-fugitive
[
broken link
: package not found]
.  vim-fugitive v2.4 made a change that broke this feature.
Upstream will not tag a new release
with the single commit that fixes compatibility with vim-fugitive v2.4.  Until then, if you want to see the current git branch, you have to: use
vim-airline-git
AUR
; downgrade vim-fugitive to v2.3; or make your own vim-airline v0.9.0, cherry-picking
upstream's fixing commit
.  If you decide to cherry-pick, it does not apply cleanly, so you will need to fix that too.
Troubleshooting
Fonts: glyphs missing
If you installed
powerline-fonts
but you notice missing glyphs, make sure your
locale
is set. Restart your session to see the changes.