Powerline: afegeix potents línies d'estat i indicacions a l'editor Vim i al terminal Bash


Powerline és un complement excel·lent per a l'editor de Vim, que es desenvolupa en Python i proporciona línies d'estat i indicacions per a moltes altres aplicacions com bash, zsh, tmux i moltes més.

  1. Està escrit en Python, cosa que el fa extensible i ric en funcions.
  2. Codi base estable i provable, que funciona bé amb Python 2.6+ i Python 3.
  3. També admet indicacions i línies d'estat en diverses utilitats i eines de Linux.
  4. Té configuracions i colors de decoració desenvolupats amb JSON.
  5. Ràpid i lleuger, amb compatibilitat amb dimonis, que ofereix encara més rendiment.

En aquest article, us mostraré com instal·lar els tipus de lletra Powerline i Powerline i com utilitzar-los amb Bash i Vim amb sistemes basats en RedHat i Debian.

Pas 1: instal·lació dels requisits genèrics per a Powerline

A causa d'un conflicte de noms amb altres projectes no relacionats, el programa Powerline està disponible a PyPI (índex de paquets Python) sota el nom del paquet com a powerline-status.

Per instal·lar paquets des de PyPI, necessitem un pip (eina de gestió de paquets per instal·lar paquets de Python). Per tant, primer instal·lem l'eina pip als nostres sistemes Linux.

# apt-get install python-pip
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Recommended packages:
  python-dev-all python-wheel
The following NEW packages will be installed:
  python-pip
0 upgraded, 1 newly installed, 0 to remove and 533 not upgraded.
Need to get 97.2 kB of archives.
After this operation, 477 kB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu/ trusty-updates/universe python-pip all 1.5.4-1ubuntu3 [97.2 kB]
Fetched 97.2 kB in 1s (73.0 kB/s)     
Selecting previously unselected package python-pip.
(Reading database ... 216258 files and directories currently installed.)
Preparing to unpack .../python-pip_1.5.4-1ubuntu3_all.deb ...
Unpacking python-pip (1.5.4-1ubuntu3) ...
Processing triggers for man-db (2.6.7.1-1ubuntu1) ...
Setting up python-pip (1.5.4-1ubuntu3) ...

En sistemes basats en Fedora, primer heu d'habilitar epel-repository i després instal·lar el paquet pip tal com es mostra.

# yum install python-pip          
# dnf install python-pip                     [On Fedora 22+ versions]           
Installing:
 python-pip          noarch          7.1.0-1.el7             epel          1.5 M

Transaction Summary
=================================================================================
Install  1 Package

Total download size: 1.5 M
Installed size: 6.6 M
Is this ok [y/d/N]: y
Downloading packages:
python-pip-7.1.0-1.el7.noarch.rpm                         | 1.5 MB  00:00:01     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : python-pip-7.1.0-1.el7.noarch                                 1/1 
  Verifying  : python-pip-7.1.0-1.el7.noarch                                 1/1 

Installed:
  python-pip.noarch 0:7.1.0-1.el7                                                

Complete!

Pas 2: instal·lació de l'eina Powerline a Linux

Ara és el moment d'instal·lar la darrera versió de desenvolupament de Powerline des del dipòsit de Git. Per a això, el vostre sistema ha de tenir instal·lat el paquet git per obtenir els paquets de Git.

# apt-get install git
# yum install git
# dnf install git

A continuació, podeu instal·lar Powerline amb l'ajuda de l'ordre pip tal com es mostra.

# pip install git+git://github.com/Lokaltog/powerline
 Cloning git://github.com/Lokaltog/powerline to /tmp/pip-WAlznH-build
  Running setup.py (path:/tmp/pip-WAlznH-build/setup.py) egg_info for package from git+git://github.com/Lokaltog/powerline
    
    warning: no previously-included files matching '*.pyc' found under directory 'powerline/bindings'
    warning: no previously-included files matching '*.pyo' found under directory 'powerline/bindings'
Installing collected packages: powerline-status
  Found existing installation: powerline-status 2.2
    Uninstalling powerline-status:
      Successfully uninstalled powerline-status
  Running setup.py install for powerline-status
    
    warning: no previously-included files matching '*.pyc' found under directory 'powerline/bindings'
    warning: no previously-included files matching '*.pyo' found under directory 'powerline/bindings'
    changing mode of build/scripts-2.7/powerline-lint from 644 to 755
    changing mode of build/scripts-2.7/powerline-daemon from 644 to 755
    changing mode of build/scripts-2.7/powerline-render from 644 to 755
    changing mode of build/scripts-2.7/powerline-config from 644 to 755
    changing mode of /usr/local/bin/powerline-config to 755
    changing mode of /usr/local/bin/powerline-lint to 755
    changing mode of /usr/local/bin/powerline-render to 755
    changing mode of /usr/local/bin/powerline-daemon to 755
Successfully installed powerline-status
Cleaning up...

Pas 3: instal·lació de fonts Powerline a Linux

Powerline utilitza glifos especials per mostrar efectes de fletxa i símbols especials per als desenvolupadors. Per a això, heu de tenir un tipus de lletra de símbol o un tipus de lletra pegat instal·lat als vostres sistemes.

Baixeu la versió més recent del tipus de lletra del símbol i del fitxer de configuració fontconfig mitjançant la següent comanda wget.

# wget https://github.com/powerline/powerline/raw/develop/font/PowerlineSymbols.otf
# wget https://github.com/powerline/powerline/raw/develop/font/10-powerline-symbols.conf

Aleshores, heu de moure el tipus de lletra al vostre directori de fonts, /usr/share/fonts/ o /usr/local/share/fonts de la manera següent o podeu obtenir els camins de lletra vàlids mitjançant l'ordre xset q .

# mv PowerlineSymbols.otf /usr/share/fonts/

A continuació, heu d'actualitzar la memòria cau de fonts del vostre sistema de la manera següent.

# fc-cache -vf /usr/share/fonts/

Ara instal·leu el fitxer fontconfig.

# mv 10-powerline-symbols.conf /etc/fonts/conf.d/

Nota: si els símbols personalitzats no apareixen, intenteu tancar totes les sessions del terminal i reinicieu la finestra X perquè els canvis tinguin efecte.

Pas 4: Configuració de Powerline per a Bash Shell i Vim Statuslines

En aquesta secció veurem la configuració de Powerline per a bash shell i l'editor vim. Primer feu que el vostre terminal admeti 256color afegint la línia següent al fitxer ~/.bashrc de la manera següent.

export TERM=”screen-256color” 

Per habilitar Powerline a bash shell de manera predeterminada, heu d'afegir el fragment següent al vostre fitxer ~/.bashrc.

Primer obteniu la ubicació de la línia elèctrica instal·lada mitjançant la següent comanda.

# pip show powerline-status

Name: powerline-status
Version: 2.2.dev9999-git.aa33599e3fb363ab7f2744ce95b7c6465eef7f08
Location: /usr/local/lib/python2.7/dist-packages
Requires: 

Un cop conegueu la ubicació real de la línia elèctrica, assegureu-vos de substituir la ubicació a la línia següent segons el vostre sistema suggerit.

powerline-daemon -q
POWERLINE_BASH_CONTINUATION=1
POWERLINE_BASH_SELECT=1
. /usr/local/lib/python2.7/dist-packages/powerline/bindings/bash/powerline.sh

Ara proveu de tancar la sessió i tornar a iniciar sessió, veureu la línia d'estatus de la línia elèctrica com es mostra a continuació.

Proveu de canviar o canviar a diferents directoris i estigueu atents als canvis de la sol·licitud \breadcrumb per mostrar la vostra ubicació actual.

També podreu veure els treballs en segon pla pendents i si la línia elèctrica està instal·lada en una màquina Linux remota, podeu notar que l'indicador afegeix el nom d'amfitrió quan us connecteu mitjançant SSH.

Si vim és el vostre editor preferit, afortunadament també hi ha un connector potent per a vim. Per habilitar aquest connector, afegiu aquestes línies al fitxer ~/.vimrc.

set  rtp+=/usr/local/lib/python2.7/dist-packages/powerline/bindings/vim/
set laststatus=2
set t_Co=256

Ara podeu iniciar vim i veure una nova línia d'estat elegant:

Resum

Powerline ajuda a establir línies d'estat colorides i boniques en diverses aplicacions, bones per a entorns de codificació. Espero que aquesta guia us sigui útil i recordeu publicar un comentari si necessiteu ajuda o si teniu idees addicionals.