Powerline is a statusline plugin for vim, and provides statuslines and prompts for several other applications, including zsh, bash, tmux, IPython, Awesome and Qtile.
Go to file
Philip Wellnitz beca2d6e87
Update main.yaml
Update supported python versions.
2024-02-28 16:33:59 +09:00
.github/workflows Update main.yaml 2024-02-28 16:33:59 +09:00
client Fix #2027 - Use `command -v` instead of which 2019-10-09 23:40:13 -05:00
docs Ensure compatibility with Python 3.11 (#2212) 2022-06-23 19:05:54 +09:00
font Add more Droid Sans Mono families 2014-03-17 19:26:43 +04:00
powerline Change TMUJX_VAR_RE re.compile to use raw string (#2245) 2023-11-27 21:05:59 +09:00
scripts Remove mutable global variables from daemon script 2016-08-20 21:03:24 +03:00
tests Remove imp module from tests to make them compatible with python 3.12 (#2251) 2024-02-27 18:59:10 +09:00
tools Add script that will close all PRs not to develop branch 2015-05-30 14:09:00 +03:00
.editorconfig Move some settings from .local.vimrc to .editorconfig 2014-05-04 12:10:32 +04:00
.gitattributes ignore trailing whitespace errors in .rst files 2013-08-20 09:35:42 -04:00
.gitignore Add skip command, rename tests/failures to tests/status 2017-12-02 17:56:34 +03:00
.local.vimrc Fix powerline style 2014-08-15 20:58:19 +04:00
.travis.yml Update .travis.yml 2020-10-12 18:11:48 +09:00
CONTRIBUTING.rst Update various URLs: powerline has moved to github.com/powerline 2014-12-07 16:08:24 +03:00
LICENSE Update various URLs: powerline has moved to github.com/powerline 2014-12-07 16:08:24 +03:00
MANIFEST.in Include license file in MANIFEST.in 2018-01-19 10:06:41 -05:00
README.rst Update README.rst 2020-10-12 18:07:37 +09:00
setup.py bump version to 2.8.2 2021-03-01 16:45:49 +09:00

README.rst

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Powerline
=========

.. image:: https://api.travis-ci.org/powerline/powerline.svg?branch=develop
   :target: `travis-build-status`_
   :alt: Build status
.. _travis-build-status: https://travis-ci.org/powerline/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.**

+---------+---------------------------------------------------+
| Author  | Kim Silkebækken (kim.silkebaekken+vim@gmail.com)  |
+---------+---------------------------------------------------+
| Source  | https://github.com/powerline/powerline            |
+---------+---------------------------------------------------+
| Version | beta                                              |
+---------+---------------------------------------------------+

**Powerline does not support python2 anymore and powerline will stop working with python2 in the near future.**

Features
--------

* **Extensible and feature rich, written in Python.** Powerline was 
  completely rewritten in Python to get rid of as much vimscript as 
  possible. This has allowed much better extensibility, leaner and better 
  config files, and a structured, object-oriented codebase with no mandatory
  third-party dependencies other than a Python interpreter.
* **Stable and testable code base.** Using Python has allowed unit testing 
  of all the project code. The code is tested to work in Python 3.6+.
* **Support for prompts and statuslines in many applications.** Originally 
  created exclusively for vim statuslines, the project has evolved to 
  provide statuslines in tmux and several WMs, and prompts for shells like 
  bash/zsh and other applications. Its simple to write renderers for any 
  other applications that Powerline doesnt yet support.
* **Configuration and colorschemes written in JSON.** JSON is 
  a standardized, simple and easy to use file format that allows for easy 
  user configuration across all of Powerlines supported applications.
* **Fast and lightweight, with daemon support for even better performance.**
  Although the code base spans a couple of thousand lines of code with no 
  goal of “less than X lines of code”, the main focus is on good performance 
  and as little code as possible while still providing a rich set of 
  features. The new daemon also ensures that only one Python instance is 
  launched for prompts and statuslines, which provides excellent 
  performance.

*But I hate Python / I dont need shell prompts / this is just too much 
hassle for me / what happened to the original vim-powerline project / …*

You should check out some of the Powerline derivatives. The most lightweight
and feature-rich alternative is currently the `vim-airline 
<https://github.com/vim-airline/vim-airline>`_ project.

Configuration
-------------

Basic powerline configuration is done via `JSON` files located at `.config/powerline/`. It is a good idea to start by copying the default configuration located at `powerline_root/powerline/config_files/` to `.config/powerline/`.
If you installed the powerline from the AUR or via pip, `powerline_root` should be `/usr/lib/python3.6/site-packages/` or something similar, depending on your python version.

If you installed powerline via apt-get 'powerline_root' should be '/usr/share/powerline/'.

This should yield you the following directory structure:

    ::

        .config/powerline/
        ├── colorschemes
        │   ├── ...
        │   └── wm
        |       └── default.json  // Your configuration goes here
        ├── colors.json
        ├── config.json
        └── themes
            ├── ...
            └── wm
                └── default.json  // Your configuration goes here



The files in the subdirectories of `themes` are used to specify which segments shall be shown; the files in subdirectories of `colorschemes` are used to specify which colors (as defined in `colors.json`) shall be used to display a segment.

Note that your local configuration only overrides the global configuration, it does not replace it, i.e. if you don't configure something locally, the global default will be used instead.

* Consult the `documentation <https://powerline.readthedocs.org/en/latest/configuration.html#quick-setup-guide>`_ for more details. See also the `segment reference <https://powerline.readthedocs.org/en/latest/configuration/segments.html>`_ for available segments and their configuration.
* Check out `powerline-fonts <https://github.com/powerline/fonts>`_ for 
  pre-patched versions of popular, open source coding fonts.

Screenshots
-----------

Vim statusline
^^^^^^^^^^^^^^

**Mode-dependent highlighting**

* .. image:: https://raw.github.com/powerline/powerline/develop/docs/source/_static/img/pl-mode-normal.png
     :alt: Normal mode
* .. image:: https://raw.github.com/powerline/powerline/develop/docs/source/_static/img/pl-mode-insert.png
     :alt: Insert mode
* .. image:: https://raw.github.com/powerline/powerline/develop/docs/source/_static/img/pl-mode-visual.png
     :alt: Visual mode
* .. image:: https://raw.github.com/powerline/powerline/develop/docs/source/_static/img/pl-mode-replace.png
     :alt: Replace mode

**Automatic truncation of segments in small windows**

* .. image:: https://raw.github.com/powerline/powerline/develop/docs/source/_static/img/pl-truncate1.png
     :alt: Truncation illustration
* .. image:: https://raw.github.com/powerline/powerline/develop/docs/source/_static/img/pl-truncate2.png
     :alt: Truncation illustration
* .. image:: https://raw.github.com/powerline/powerline/develop/docs/source/_static/img/pl-truncate3.png
     :alt: Truncation illustration

----

The font in the screenshots is `Pragmata Pro`_ by Fabrizio Schiavi.

.. _`Pragmata Pro`: http://www.fsd.it/shop/fonts/pragmatapro