Tips en Trucs 2018

Powerline statusbalk voor Bash en Vim

Powerline is een statusregel plugin voor vim, zsh, bash, tmux, IPython, Awesome, bar, fish, lemonbar, pdb, rc, shell, tcsh, wm, i3 en Qtil. De in Python geschreven uitbreiding zorgt voor een statusregel en maakt de applicaties mooier.

Powerline is uitbreidbaar en bevat veel functies. Doordat het in Python is geschreven, is het klein en werkt het zonder afhankelijk te zijn van andere onderdelen, je hebt dus enkel een Python interpreter nodig (meestal standaard geïnstalleerd).

Powerline is stabiel en grondig getest en werkt met Python 2.6+ en 3.

Powerline werd oorspronkelijk ontworpen voor vim, maar evolueerde verder waardoor applicaties zoals zsh, bash, tmux, IPython, Awesome, i3 en Qtil ook werden ondersteund.

De configuratie en kleurschema's gebruiken JSON. Een standaard en eenvoudig bestandsformaat die je met om het even welke editor kunt aanpassen.

Snel en klein, en door het gebruik van een service (daemon) nog performanter.

Installatie

Om Powerline te kunnen installeren, installeer je het Python 3 installatiesysteem pip en git om Powerline rechtstreeks vanaf de ontwikkelomgeving van de auteur te downloaden:

dany@pindabook:~> sudo zypper install python3-pip git
Gegevens van opslagruimte laden...
Lezen van geïnstalleerde pakketten...
'python3-pip' is al geïnstalleerd.
Geen updatekandidaat voor bijwerken van 'python3-pip-10.0.1-lp150.1.2.noarch'. De hoogst beschikbare versie is al geïnstalleerd.
'git' is al geïnstalleerd.
Geen updatekandidaat voor bijwerken van 'git-2.16.4-lp150.2.3.1.x86_64'. De hoogst beschikbare versie is al geïnstalleerd.
Pakketafhankelijkheden oplossen...

Geen activiteit.

Dit was op mijn systeem dus niet nodig, alles was reeds standaard geïnstalleerd. Het Python programma Powerline download en installeer je met:

dany@pindabook:~> sudo pip install git+git://github.com/Lokaltog/powerline
Collecting git+git://github.com/Lokaltog/powerline
  Cloning git://github.com/Lokaltog/powerline to /tmp/pip-req-build-i5mumssb
Installing collected packages: powerline-status
  Running setup.py install for powerline-status ... done
Successfully installed powerline-status-2.6.dev9999-git.b-6257332372bf9f64d928b6a3b53d2842d9c7e01f-
You are using pip version 10.0.1, however version 18.0 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

Om straks Powerline te starten, moeten we achterhalen waar pip Powerline geïnstalleerd heeft:

dany@pindabook:~> pip show powerline-status
Name: powerline-status
Version: 2.6.dev9999-git.b-6257332372bf9f64d928b6a3b53d2842d9c7e01f-
Summary: The ultimate statusline/prompt utility.
Home-page: https://github.com/powerline/powerline
Author: Kim Silkebaekken
Author-email: kim.silkebaekken+vim@gmail.com
License: MIT
Location: /usr/lib/python3.6/site-packages
Requires: 
Required-by:

Uit deze gegevens blijkt Powerline op mijn systeem geïnstalleerd in de map /usr/lib/python3.6/site-packages te staan. Om Powerline in Bash (terminal) te activeren, voeg je enkele regels toe aan het startscript van Bash:

dany@pindabook:~> joe .bashrc

En voeg de volgende regels toe:

if [ -f `which powerline-daemon` ]; then
  powerline-daemon -q
  POWERLINE_BASH_CONTINUATION=1
  POWERLINE_BASH_SELECT=1
  . /usr/lib/python3.6/site-packages/powerline/bindings/bash/powerline.sh
fi

Zorg dat je in de voorlaatste regel het pad gebruikt die je in de vorige opdracht hebt gevonden. Bewaar de aanpassing en sluit de teksteditor joe af met de toetscombinatie Ctrl + k gevolgd door de toets x.

Vanaf nu start elke nieuwe Bash terminal met Powerline. Om Powerline in de reeds geopende Bash terminal te activeren en te testen, voer je de volgende opdracht uit:

dany@pindabook:~> source .bashrc

Onderstaande afbeeldingen tonen een standaard Bash terminal, een Bash terminal met Powerline en een SSH terminal met Powerline (op de computer op afstand).

Bash Bash met Powerline
SSH Powerline

De teksteditor Vim uitbreiden met Powerline

Vim is een door systeembeheerders veel gebruikte teksteditor. Je kunt er enorm veel mee, maar je moet de besturing via commando's en sneltoetsen wel gewoon worden. De Vim teksteditor is in veel distributies standaard geïnstalleerd en om Powerline in Vim te activeren, pas je het Vim configuratiebestand aan:

  pindabook.pindanet.home  dany  ~  vim .vimrc

Indien het Vim configuratiebestand nog niet aanwezig is, wordt er een nieuw aangemaakt. Druk i om de Invoermode (Insert) te activeren en voeg de volgende regels toe. Zorg er opnieuw voor dat je het juiste pad naar de Powerline map gebruikt.

set rtp+=/usr/lib/python3.6/site-packages/powerline/bindings/vim/
set laststatus=2
set t_Co=256

Verlaat de Insert mode door op de Esc toets te drukken. Sla het aangepast Vim configuratiebestand op en sluit Vim door :wq gevolgd door Return te typen. Na de dubbele punt volgen opdrachten zoals w (Write of opslaan) en q (Quit of afsluiten). Onderstaande afbeeldingen tonen Vim zonder en met Powerline.

Vim Vim met Powerline

De extra statusbalk toont relevante informatie om een visueel aantrekkelijke manier.

Samengevat

Powerline zorgt dat powergebruikers hun krachtige omgeving beter oogt en voegt wat extra gebruikersgemak toe. Daar Powerline nog meer in zijn mars heeft kan je ontdekken door de documentatie te raadplegen.