Other plugins¶
Vim statusline¶
If installed using pip just add
python from powerline.vim import setup as powerline_setup
python powerline_setup()
python del powerline_setup
(replace python
with python3
if appropriate) to the vimrc
.
If the repository was just cloned the following line needs to be added to the
vimrc
:
set rtp+={repository_root}/powerline/bindings/vim
where {repository_root}
is the absolute path to the Powerline installation
directory (see repository root).
If pathogen is used and Powerline functionality is not needed outside of Vim
then it is possible to simply add Powerline as a bundle and point the path above
to the Powerline bundle directory, e.g.
~/.vim/bundle/powerline/powerline/bindings/vim
.
Vundle and NeoBundle users may instead use
Bundle 'powerline/powerline', {'rtp': 'powerline/bindings/vim/'}
(NeoBundle users need NeoBundle
in place of Bundle
, otherwise setup is
the same).
Vim-addon-manager setup is even easier because it is not needed to write this
big path or install anything by hand: powerline
can be installed and
activated just like any other plugin using
call vam#ActivateAddons(['powerline'])
Warning
Never install powerline with pathogen/VAM/Vundle/NeoBundle and with pip.
If powerline functionality is needed in applications other then Vim then
system-wide installation (in case used OS distribution has powerline
package), pip-only or pip install --editable
kind of installation
performed on the repository installed by Vim plugin manager should be used.
No issues are accepted in powerline issue tracker for double pip/non-pip installations, especially if these issues occur after update.
Note
If supplied powerline.vim
file is used to load powerline there are
additional configuration variables available: g:powerline_pycmd
and
g:powerline_pyeval
. First sets command used to load powerline: expected
values are "py"
and "py3"
. Second sets function used in statusline,
expected values are "pyeval"
and "py3eval"
.
If g:powerline_pycmd
is set to the one of the expected values then
g:powerline_pyeval
will be set accordingly. If it is set to some other
value then g:powerline_pyeval
must also be set. Powerline will not check
that Vim is compiled with Python support if g:powerline_pycmd
is set to
an unexpected value.
These values are to be used to specify the only Python that is to be loaded if both versions are present: Vim may disable loading one python version if other was already loaded. They should also be used if two python versions are able to load simultaneously, but powerline was installed only for python-3 version.
Tmux statusline¶
Add the following lines to .tmux.conf
, where {repository_root}
is
the absolute path to the Powerline installation directory (see repository
root):
source "{repository_root}/powerline/bindings/tmux/powerline.conf"
Note
The availability of the powerline-config
command is required for
powerline support. The location of this script may be specified via
the $POWERLINE_CONFIG_COMMAND
environment variable.
Note
It is advised to run powerline-daemon
before adding the above line to
tmux.conf. To do so add:
run-shell "powerline-daemon -q"
to .tmux.conf
.
IPython prompt¶
For IPython<0.11 add the following lines to .ipython/ipy_user_conf.py
:
# top
from powerline.bindings.ipython.pre_0_11 import setup as powerline_setup
# main() function (assuming ipython was launched without configuration to
# create skeleton ipy_user_conf.py file):
powerline_setup()
For IPython>=0.11 add the following line to
~/.ipython/profile_default/ipython_config.py
file in the used profile:
c = get_config()
c.InteractiveShellApp.extensions = [
'powerline.bindings.ipython.post_0_11'
]
IPython=0.11* is not supported and does not work. IPython<0.10 was not tested (not installable by pip).
PDB prompt¶
To use Powerline with PDB prompt you need to use custom class. Inherit your
class from pdb.Pdb
and decorate it with
powerline.bindings.pdb.use_powerline_prompt()
:
import pdb
from powerline.bindings.pdb import use_powerline_prompt
@use_powerline_prompt
class MyPdb(pdb.Pdb):
pass
MyPdb.run('some.code.to.debug()')
. Alternatively you may use
python -mpowerline.bindings.pdb path/to/script.py
just like you used python -m pdb
.