powerline/README.rst

116 lines
5.6 KiB
ReStructuredText
Raw Permalink Normal View History

2012-11-26 09:17:28 +01:00
Powerline
=========
2013-08-05 10:56:27 +02:00
**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.**
2013-08-05 10:56:27 +02:00
2020-10-12 11:07:37 +02:00
+---------+---------------------------------------------------+
| Author | Kim Silkebækken (kim.silkebaekken+vim@gmail.com) |
+---------+---------------------------------------------------+
| Source | https://github.com/powerline/powerline |
+---------+---------------------------------------------------+
| Version | beta |
+---------+---------------------------------------------------+
2013-08-20 17:59:41 +02:00
2020-10-12 11:07:37 +02:00
**Powerline does not support python2 anymore and powerline will stop working with python2 in the near future.**
2013-08-20 17:59:41 +02:00
2013-08-05 10:56:27 +02:00
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
2020-10-12 11:07:37 +02:00
of all the project code. The code is tested to work in Python 3.6+.
2013-08-05 10:56:27 +02:00
* **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.
2013-08-05 10:56:27 +02:00
* **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.
2013-08-05 10:56:27 +02:00
* **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
2013-08-05 10:56:27 +02:00
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
2013-08-05 10:56:27 +02:00
hassle for me / what happened to the original vim-powerline project / …*
You should check out some of the Powerline derivatives. The most lightweight
2018-09-20 11:53:22 +02:00
and feature-rich alternative is currently the `vim-airline
<https://github.com/vim-airline/vim-airline>`_ project.
2013-08-05 10:56:27 +02:00
Configuration
-------------
2012-11-26 09:17:28 +01:00
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.
2013-03-08 18:35:44 +01:00
2012-12-18 16:05:55 +01:00
Screenshots
-----------
2013-01-17 08:29:04 +01:00
Vim statusline
^^^^^^^^^^^^^^
2012-12-18 16:05:55 +01:00
**Mode-dependent highlighting**
* .. image:: https://raw.github.com/powerline/powerline/develop/docs/source/_static/img/pl-mode-normal.png
2012-12-18 16:05:55 +01:00
:alt: Normal mode
* .. image:: https://raw.github.com/powerline/powerline/develop/docs/source/_static/img/pl-mode-insert.png
2012-12-18 16:05:55 +01:00
:alt: Insert mode
* .. image:: https://raw.github.com/powerline/powerline/develop/docs/source/_static/img/pl-mode-visual.png
2012-12-18 16:05:55 +01:00
:alt: Visual mode
* .. image:: https://raw.github.com/powerline/powerline/develop/docs/source/_static/img/pl-mode-replace.png
2012-12-18 16:05:55 +01:00
: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
2012-12-18 16:05:55 +01:00
:alt: Truncation illustration
* .. image:: https://raw.github.com/powerline/powerline/develop/docs/source/_static/img/pl-truncate2.png
2012-12-18 16:05:55 +01:00
:alt: Truncation illustration
* .. image:: https://raw.github.com/powerline/powerline/develop/docs/source/_static/img/pl-truncate3.png
2012-12-18 16:05:55 +01:00
:alt: Truncation illustration
2012-12-19 14:46:14 +01:00
2013-01-17 08:29:04 +01:00
----
2012-12-19 14:46:14 +01:00
The font in the screenshots is `Pragmata Pro`_ by Fabrizio Schiavi.
.. _`Pragmata Pro`: http://www.fsd.it/shop/fonts/pragmatapro