Einführung in Powerline: das Statusline-Plugin für VIM
Vim ist einer der am weitesten verbreiteten und bekanntesten Texteditoren unter Linux und anderen Unix-basierten Betriebssystemen. Es handelt sich um eine kostenlose Open-Source-Software, die auf dem ursprünglichen Vi-Editor basiert (Vim steht für Vi IMproved) und hauptsächlich von Bram Moolenaar entwickelt wurde. Der Editor kann durch Bearbeiten der Konfigurationsdatei ~/.vimrc und durch die Verwendung einer Vielzahl von Plugins eingerichtet werden. In diesem Artikel sehen wir, wie Sie die Vim-Statusleiste verbessern und anpassen können, indem Sie Powerline installieren, ein nettes Plugin, das in Python geschrieben wurde und auch zum Anpassen der Bash- und Zsh-Shell-Eingabeaufforderungen verwendet werden kann.
In diesem Tutorial lernen Sie:
- So installieren Sie Powerline und Powerline-Fonts
- So überprüfen Sie, ob Vim mit Python-Unterstützung kompiliert wurde
- So verwenden Sie Powerline zum Anpassen der Vim-Statusleiste
- So verwenden Sie Powerline zum Anpassen von Bash-Eingabeaufforderungen
- So verwenden Sie Powerline zum Anpassen von zsh-Eingabeaufforderungen
Verwendete Softwareanforderungen und Konventionen
Powerline und Powerline-Fonts installieren
Powerline ist eine Open-Source-Software, die in Python geschrieben wurde. Wir haben im Grunde zwei Möglichkeiten, es zu installieren: Wir können entweder pip, den Python-Paketmanager, oder unseren distributionsnativen Paketmanager verwenden.
Installation von Powerline mit pip
Die distributionsübergreifende Methode zur Installation von Powerline ist die Verwendung von pip, dem Python-Paketmanager. Die Verwendung dieser Installationsmethode hat den Vorteil, dass immer die neueste stabile Version des Pakets bereitgestellt wird. Der Befehl pip sollte immer als unprivilegierter Benutzer gestartet werden, um eine Installation auf Benutzerebene durchzuführen. Um Powerline zu installieren, müssen wir Folgendes ausführen:
pip install --user powerline-status
Bei der Installation pro Benutzer mit der Option --user werden Bibliotheken und Binärdateien unter Linux standardmäßig im Verzeichnis ~/.local installiert.
Powerline-Schriftarten sind Schriftarten, die einige Glyphen enthalten, die als Teil der Statusleiste und der von Powerline erstellten Eingabeaufforderungen verwendet werden. Bei der Installation von Powerline über unseren bevorzugten Distributionspaket-Manager werden die Powerline-Fonts automatisch als Abhängigkeit eingebunden; Wenn wir jedoch eine Installation mit Pip durchführen, müssen wir sie manuell installieren. Alles, was wir tun müssen, ist, das dedizierte Git-Repository zu klonen:
git clone https://github.com/powerline/fontsSobald das Repository auf unserem Rechner geklont wurde, können wir das darin enthaltene install.sh Skript starten, um die Schriftarten zu installieren. Da wir die Installation als unprivilegierter Benutzer durchführen, werden die Schriftarten im Verzeichnis ~/.local/share/fonts installiert. Der Befehl fc-cache wird automatisch vom Skript gestartet, um den Schriftarten-Cache zu aktualisieren.
Installieren von Powerline mit einem Distributionspaket-Manager
Da Powerline in den offiziellen Repositories einiger der am häufigsten verwendeten Linux-Distributionen verfügbar ist, können wir es alternativ mit unserem bevorzugten Paketmanager installieren. Auf Fedora sollten wir zum Beispiel den folgenden Befehl verwenden:
sudo dnf install powerlineAuf Debian und Debian-basierten Distributionen können wir stattdessen Folgendes ausführen:
sudo apt install python3-powerlinePowerline ist im Archlinux "Community"-Repository verfügbar, so dass wir es über den pacman-Paketmanager installieren können. Auf Arch sind die Powerline-Schriftarten nicht als Abhängigkeit enthalten, daher müssen sie explizit installiert werden:
sudo pacman -Sy powerline powerline-fontsVerwenden von Powerline zum Anpassen der Vim-Statuszeile
Um Powerline mit Vim verwenden zu können, müssen wir sicherstellen, dass der Editor mit Python-Unterstützung kompiliert wurde. Um dies zu überprüfen, können wir den folgenden Befehl ausführen:
vim --versionDer Befehl zeigt eine Reihe von Informationen über die installierte Vim-Version und die Funktionen an, mit denen sie kompiliert wurde. Wenn einem Feature ein A+-Zeichen vorangestellt ist, bedeutet dies, dass Vim mit Unterstützung für es kompiliert wurde, daher sollten wir den Status der Python- oder Python3-Flags überprüfen. Eine Abkürzung, um zu überprüfen, ob Vim mit Unterstützung für Python kompiliert wurde, ist die Verwendung des folgenden Befehls:
vim --version | grep -i +pythonWenn der Befehl keine Ergebnisse liefert, dann hat Vim keine Unterstützung für Python, und um Powerline zu verwenden, sollten wir es mit den entsprechenden Flags neu kompilieren (beachten Sie, dass einige Distributionen wie Debian unterschiedliche Pakete für Vim bereitstellen. Das Standard-vim-Paket stellt eine Version des Editors bereit, die ohne Unterstützung für Python kompiliert wurde. Eine besser ausgestattete Version mit Python-Unterstützung ist im vim-nox-Paket enthalten), ansonsten können wir loslegen!
Bearbeiten der vim-Konfigurationsdatei
Um Powerline mit Vim zu verwenden, müssen wir lediglich einige Zeilen in unserer .vimrc-Konfigurationsdatei hinzufügen. In diesem Beispiel nehme ich an, dass Unterstützung für Python3 vorhanden ist. Wenn Sie Python2 verwenden, ändern Sie einfach den Namen des Interpreters entsprechend:
python from powerline.vim import setup as powerline_setup
python powerline_setup()
python del powerline_setup
Sobald der obige Inhalt in die Datei ~/.vimrc geschrieben ist, können wir, um die Änderungen wirksam zu machen, Vim entweder schließen und erneut öffnen oder einfach die Konfigurationsdatei neu sourcen, indem wir den Editor-Befehlsmodus (:) aufrufen und den folgenden Befehl starten:
:so ~/.vimrcWenn wir Vim öffnen und die neue Konfiguration laden, sehen wir zu diesem Zeitpunkt wahrscheinlich nichts Neues, warum? Dieses Verhalten ist zu erwarten, da die Statusleiste standardmäßig nur angezeigt wird, wenn mindestens zwei Fenster vorhanden sind. Damit die Statusleiste immer angezeigt wird, müssen wir den Wert der Option laststatus ändern. Diese Option akzeptiert drei mögliche Werte:
- 0: Die Statusleiste wird nie angezeigt
- 1: Dies ist die Standardeinstellung: Die Statusleiste wird nur angezeigt, wenn mindestens zwei Fenster vorhanden sind
- 2: Die Statusleiste wird immer angezeigt
Wir wollen 2 als Wert setzen, daher fügen wir in der Konfigurationsdatei die folgende Zeile hinzu:
set laststatus=2
Sobald die neuen Änderungen geladen sind, sollte die Powerline-Statusleiste in vim korrekt angezeigt werden:
Wenn die Statusleiste korrekt angezeigt wird, aber Symbole fehlen und Sie powerline-fonts manuell installiert haben, stellen Sie sicher, dass Sie die gepatchten Schriftvarianten (die mit dem Suffix "for powerline") als Terminal-Emulator-Schriftarten ausgewählt haben, wenn Sie die Befehlszeile vim verwenden. Wenn Sie stattdessen gvim verwenden, können Sie die Schriftart mit der Option guifont festlegen.
Verwenden von Powerline zum Anpassen von Shell-Eingabeaufforderungen
Die Powerline-Statusleiste kann in anderen Anwendungen verwendet werden, nicht nur in Vim. Zum Beispiel können wir es verwenden, um unseren Shell-Eingabeaufforderungen etwas Schnickschnack hinzuzufügen. Um Powerline mit Bash oder Zsh zu verwenden, müssen wir zunächst den Powerline-Installationspfad kennen: Dies hängt von der Methode ab, mit der wir es installiert haben. Wenn wir das Plugin mit pip und Python3 installiert haben, sollte der Pfad ~/.local/lib/python<version>/site-packages/powerline lauten, wobei <version> durch die tatsächlich für die Installation verwendete Python-Version ersetzt werden sollte. Wenn wir beispielsweise Python 3.9 verwenden, sollte der Pfad lauten: ~/.local/lib/python3.9/site-packages/powerline. Wenn wir Powerline stattdessen mit unserem nativen Paketmanager für die Distribution installiert haben, variiert der Pfad je nach verwendeter Distribution. In Debian und Archlinux wäre der Powerline-Installationspfad: /usr/share/powerline; Auf Fedora lautet der Pfad stattdessen: /usr/share/powerline.
Anpassen der Bash-Eingabeaufforderung
Um Bash-Eingabeaufforderungen mit Powerline anzupassen, müssen wir lediglich den folgenden Inhalt zur Datei ~/.bashrc hinzufügen (wenn Powerline mit dem nativen Paketmanager von Fedora installiert wurde, sollte der Pfad des zu beziehenden Skripts wie folgt geändert werden: /usr/share/powerline/bash/powerline.sh):
powerline-daemon -q
POWERLINE_BASH_CONTINUATION=1
POWERLINE_BASH_SELECT=1
source /bindings/shell/powerline.sh
Der Befehl powerline-daemon -q startet den powerline-daemon, dies wird benötigt, um eine bessere Leistung beim Öffnen des Terminals zu erzielen. Hier ist ein Screenshot der Bash Powerline-Eingabeaufforderung:
Verwenden der Powerline-Eingabeaufforderung mit Zsh
In einem früheren Artikel haben wir über Zsh gesprochen. Die Z-Shell ist eine moderne Shell, die als Alternative zu Bash verwendet werden kann. Powerline kann auch damit verwendet werden. Wenn wir Powerline mit Zsh verwenden möchten, müssen wir lediglich das Skript powerline.zsh aus der Konfigurationsdatei ~/.zshrc beziehen:
source /bindings/zsh/powerline.zshWenn wir Powerline über dnf auf Fedora installiert haben, ist der Pfad des Skripts etwas anders: /usr/share/powerline/zsh/powerline.zsh.
Zusammenfassung
In diesem Artikel haben wir gesehen, wie man ein sehr schönes Dienstprogramm installiert und konfiguriert, mit dem wir die Statusleiste/Eingabeaufforderung vieler Anwendungen anpassen können: Powerline. Wir haben gesehen, wie man damit die Vim-Statusleiste und die Eingabeaufforderungen der Bash- und Zsh-Shells anpassen kann. Powerline unterstützt auch andere Shells (wie Fish und Rcsh) und Status-Widgets wie die i3-bar, die die Standard-Statusleiste des i3-Fenstermanagers ist. Anweisungen zur Verwendung von Powerline mit diesen Anwendungen finden Sie in der offiziellen Dokumentation.


