2012-12-14 15:23:26 +01:00
|
|
|
Overview
|
|
|
|
========
|
|
|
|
|
|
|
|
Requirements
|
|
|
|
------------
|
|
|
|
|
2013-01-21 20:42:57 +01:00
|
|
|
Powerline requires Python 3.3 or Python 2.7 to work.
|
2012-12-17 15:24:42 +01:00
|
|
|
|
2013-01-18 10:58:23 +01:00
|
|
|
Powerline uses several special glyphs to get the arrow effect and some
|
|
|
|
custom symbols for developers. This requires that you either have the symbol
|
|
|
|
font or a patched font on your system. See `Font installation`_ for more
|
|
|
|
details.
|
|
|
|
|
2012-12-17 15:24:42 +01:00
|
|
|
Vim plugin requirements
|
|
|
|
^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
2013-01-21 20:42:57 +01:00
|
|
|
The vim plugin requires a vim version with Python support compiled in. You
|
|
|
|
can check if your vim supports Python by running ``vim --version | grep
|
|
|
|
+python``.
|
2012-12-17 15:24:42 +01:00
|
|
|
|
2013-01-21 20:42:57 +01:00
|
|
|
If your vim version doesn't have support for Python, you'll have to compile
|
|
|
|
it with the ``--enable-python3interp`` flag (``--enable-pythoninterp`` if
|
|
|
|
you want Python 2 support instead). Note that this also requires the related
|
|
|
|
Python headers to be installed on your system. Please consult your
|
2012-12-21 11:19:53 +01:00
|
|
|
distribution's documentation for details on how to compile and install
|
|
|
|
packages.
|
|
|
|
|
2012-12-17 15:24:42 +01:00
|
|
|
Vim version 7.3.661 or newer is recommended for performance reasons.
|
|
|
|
|
2013-01-21 20:38:41 +01:00
|
|
|
Additional dependencies
|
|
|
|
^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
|
|
|
The following Python packages are not required by all segments, but
|
|
|
|
recommended for optimal performance:
|
|
|
|
|
|
|
|
* ``pygit2``
|
|
|
|
* ``psutil``
|
|
|
|
|
2012-12-13 22:43:58 +01:00
|
|
|
Installation
|
2012-12-14 15:23:26 +01:00
|
|
|
------------
|
2012-12-13 22:43:58 +01:00
|
|
|
|
2012-12-19 14:46:14 +01:00
|
|
|
Installing with ``pip``
|
|
|
|
^^^^^^^^^^^^^^^^^^^^^^^
|
2012-12-18 17:18:37 +01:00
|
|
|
|
2012-12-19 14:46:14 +01:00
|
|
|
To install Powerline system-wide, run the following command as root::
|
2012-12-18 17:18:37 +01:00
|
|
|
|
2013-01-20 19:15:12 +01:00
|
|
|
pip install git+git://github.com/Lokaltog/powerline
|
2012-12-18 17:18:37 +01:00
|
|
|
|
2012-12-19 14:46:14 +01:00
|
|
|
If you don't have root access or don't want to install Powerline
|
|
|
|
system-wide, install with ``pip install --user`` instead.
|
2012-12-13 22:43:58 +01:00
|
|
|
|
2013-01-08 15:00:05 +01:00
|
|
|
.. note:: This project is currently unavailable on the PyPI due to a naming
|
|
|
|
conflict with an unrelated project.
|
|
|
|
|
2012-12-19 14:46:14 +01:00
|
|
|
Distribution-specific packages
|
|
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
|
|
|
The following distribution-specific packages are officially supported, and
|
|
|
|
they provide an easy way of installing and upgrading Powerline:
|
|
|
|
|
|
|
|
* `Arch Linux (AUR) <https://aur.archlinux.org/packages/powerline-git/>`_
|
2013-01-20 19:49:06 +01:00
|
|
|
* Gentoo Live ebuild (:file:`packages/gentoo/app-misc/powerline/`)
|
2012-12-17 15:24:42 +01:00
|
|
|
|
2013-01-18 10:58:23 +01:00
|
|
|
.. _font-installation:
|
|
|
|
|
|
|
|
Font installation
|
|
|
|
^^^^^^^^^^^^^^^^^
|
|
|
|
|
|
|
|
Linux
|
|
|
|
*****
|
|
|
|
|
|
|
|
If you're running Linux, you may be able to avoid patching your coding font
|
|
|
|
to get the special glyphs required by Powerline. This works by utilizing
|
|
|
|
fontconfig's fallback font feature, which replaces missing glyphs in a font
|
|
|
|
with another font on your system.
|
|
|
|
|
|
|
|
This has been tested and works very well with many different coding fonts,
|
|
|
|
but some fonts may look terrible, in which case you'll have to use a patched
|
|
|
|
font (see :ref:`font-patching` for details).
|
|
|
|
|
|
|
|
1. Download the `latest version of PowerlineSymbols
|
2013-01-18 16:40:00 +01:00
|
|
|
<https://github.com/Lokaltog/powerline/raw/develop/font/PowerlineSymbols.otf>`_
|
|
|
|
and the `latest version of the fontconfig file
|
|
|
|
<https://github.com/Lokaltog/powerline/raw/develop/font/10-powerline-symbols.conf>`_.
|
|
|
|
2. Move :file:`PowerlineSymbols.otf` to :file:`~/.fonts/`.
|
2013-01-18 10:58:23 +01:00
|
|
|
3. Run ``fc-cache -vf ~/.fonts`` to update your font cache.
|
2013-01-18 16:40:00 +01:00
|
|
|
4. Move :file:`10-powerline-symbols.conf` to either :file:`~/.fonts.conf.d/`
|
|
|
|
or :file:`~/.config/fontconfig/conf.d/`, depending on your fontconfig
|
|
|
|
version.
|
|
|
|
5. If you don't see the arrow symbols, please close all instances of your
|
|
|
|
terminal emulator or gvim. You may also have to restart X for the changes
|
|
|
|
to take effect. If you *still* don't see the arrow symbols, please submit
|
|
|
|
an issue on GitHub.
|
2013-01-18 10:58:23 +01:00
|
|
|
|
|
|
|
OS X and Windows
|
|
|
|
****************
|
|
|
|
|
|
|
|
You'll have to use a patched font to use the Powerline symbols. See
|
|
|
|
:ref:`font-patching` for details on font patching and pre-patched fonts.
|
|
|
|
|
2012-12-14 15:23:26 +01:00
|
|
|
Usage
|
|
|
|
-----
|
2012-12-17 15:24:42 +01:00
|
|
|
|
2013-01-17 17:06:45 +01:00
|
|
|
.. note:: If Powerline is installed somewhere other than Python's
|
|
|
|
site-packages directories (e.g. by having the git repo in your dotfiles
|
|
|
|
directory) you'll have to use the absolute path to the scripts in the
|
|
|
|
examples below.
|
|
|
|
|
2013-01-17 09:42:39 +01:00
|
|
|
Vim statusline
|
|
|
|
^^^^^^^^^^^^^^
|
2012-12-17 15:24:42 +01:00
|
|
|
|
2013-01-21 10:14:21 +01:00
|
|
|
Regular installation
|
|
|
|
********************
|
2012-12-17 15:24:42 +01:00
|
|
|
|
2013-01-21 10:14:21 +01:00
|
|
|
**The recommended way of installing Powerline is as a Python package.**
|
|
|
|
You can then enable the vim plugin by adding the following line to your
|
|
|
|
``vimrc``:
|
|
|
|
|
|
|
|
.. code-block:: vim
|
|
|
|
|
|
|
|
python from powerline.bindings.vim import source_plugin; source_plugin()
|
2012-12-17 15:24:42 +01:00
|
|
|
|
2012-12-19 14:46:14 +01:00
|
|
|
If Powerline is installed somewhere other than Python's site-packages
|
2013-01-21 10:14:21 +01:00
|
|
|
directories you'll either have to use a plugin manager like Vundle, or
|
|
|
|
source the vim plugin file with an absolute path to the plugin location.
|
2012-12-17 15:24:42 +01:00
|
|
|
|
|
|
|
Add the following line to your ``vimrc``, where ``{path}`` is the path to
|
2013-01-21 10:14:21 +01:00
|
|
|
the main Powerline project directory:
|
|
|
|
|
|
|
|
.. code-block:: vim
|
|
|
|
|
|
|
|
source {path}/powerline/bindings/vim/plugin/source_plugin.vim
|
|
|
|
|
|
|
|
Vundle installation
|
|
|
|
*******************
|
|
|
|
|
|
|
|
If you're using Vundle you can add the following line to your ``vimrc``:
|
|
|
|
|
|
|
|
.. code-block:: vim
|
2012-12-17 15:24:42 +01:00
|
|
|
|
2013-01-21 10:14:21 +01:00
|
|
|
Bundle 'Lokaltog/powerline', {'rtp': 'powerline/bindings/vim/'}
|
2013-01-17 09:42:39 +01:00
|
|
|
|
2013-01-17 17:06:45 +01:00
|
|
|
Terminal prompts
|
|
|
|
^^^^^^^^^^^^^^^^
|
2013-01-17 09:42:39 +01:00
|
|
|
|
2013-01-17 17:06:45 +01:00
|
|
|
Bash prompt
|
|
|
|
***********
|
2013-01-17 09:42:39 +01:00
|
|
|
|
2013-01-21 10:16:34 +01:00
|
|
|
Add the following to your ``.bashrc``:
|
2013-01-17 17:06:45 +01:00
|
|
|
|
2013-01-21 10:16:34 +01:00
|
|
|
.. code-block:: bash
|
2013-01-17 17:06:45 +01:00
|
|
|
|
2013-01-21 10:16:34 +01:00
|
|
|
function _update_ps1() {
|
|
|
|
export PS1="$(powerline-prompt)"
|
|
|
|
}
|
2013-01-17 09:42:39 +01:00
|
|
|
|
2013-01-21 10:16:34 +01:00
|
|
|
export PROMPT_COMMAND="_update_ps1"
|
2013-01-17 09:42:39 +01:00
|
|
|
|
2013-01-17 17:06:45 +01:00
|
|
|
Zsh prompt
|
|
|
|
**********
|
|
|
|
|
2013-01-21 10:16:34 +01:00
|
|
|
Add the following to your ``.zshrc``:
|
2013-01-17 17:06:45 +01:00
|
|
|
|
2013-01-21 10:16:34 +01:00
|
|
|
.. code-block:: bash
|
|
|
|
|
|
|
|
setopt prompt_subst
|
2013-01-21 17:30:35 +01:00
|
|
|
export PS1='$(powerline-prompt --renderer_module=zsh_prompt)'
|
2013-01-17 09:42:39 +01:00
|
|
|
|
|
|
|
Tmux statusline
|
|
|
|
^^^^^^^^^^^^^^^
|
|
|
|
|
|
|
|
Add the following to your ``tmux.conf``::
|
|
|
|
|
|
|
|
set-option -g status on
|
|
|
|
set-option -g status-interval 2
|
|
|
|
set-option -g status-utf8 on
|
|
|
|
set-option -g status-left-length 100
|
|
|
|
set-option -g status-left "#(powerline-tmux left)"
|
|
|
|
set-option -g status-right-length 100
|
|
|
|
set-option -g status-right "#(powerline-tmux right)"
|
|
|
|
set-option -g status-justify "centre"
|
|
|
|
set-option -g status-bg "colour235"
|
|
|
|
set-option -g status-fg "colour249"
|