Mit Powerline schlau werden

Was Sie erstellen werden

Jede Editor- und Terminal-Shell verfügt über eine Statuszeile. Es ist ein Ort der Information, der Sie darüber informiert, wo Sie sich in der Datei- oder Verzeichnisstruktur befinden, den Status des Programms, den Git-Status (sofern zutreffend) usw. Oft ist es schwierig, Änderungen vorzunehmen und es ist fast immer unmöglich, konsistent über die Anwendungen hinweg zu bleiben.

Hier kommt Powerline ins Spiel. Powerline ist ein Python-Dämon, der konsistente, schön formatierte Statuszeileninformationen liefert, die in jedem Editor oder in der Terminal-Shell verwendet werden können.

Sie können auch zusätzliche Informationen hinzufügen (Wetter, Uhrzeit usw.). Am Ende des Lernprogramms können Sie die Statuszeile in Terminal vim, MacVim, zsh, bash oder fish so gestalten, wie Sie es möchten, und die benötigten Informationen anzeigen lassen.

Installation

Der einfachste Weg zur Installation ist die Verwendung Pip von Python. Sie müssen sicherstellen, dass Python Version 2.7 oder 3.3 ist, um zu funktionieren. Sie können die installierte Python-Version mit dem folgenden Befehl überprüfen:

Python - Version 

Es sollte zurückkommen:

Python 2.7.5 

Wenn Sie eine ältere Version von Python haben, installieren Sie einfach eine neuere Version mit HomeBrew. Wenn Sie HomeBrew noch nicht installiert haben, lesen Sie den Ultimate Package Manager von Homebrew Demystified: OS X.

Sobald die Python-Version auf dem neuesten Stand ist, können Sie verwenden Pip zur Installation von Powerline. Verwenden Sie diese Befehlszeile:

pip install --user git + git: //github.com/Lokaltog/powerline 

Dadurch wird die neueste Version von Powerline auf GitHub installiert. Sie sollten eine Kopie der Dokumentation im Webbrowser aufbewahren. 

Sie müssen eine ZIP-Version von GitHub herunterladen. Die Pip-Installation kopiert nicht alle benötigten Dateien. Es erhält nur das, was benötigt wird, um die Bibliothek für Python zu erstellen. Sie werden die heruntergeladene Kopie verwenden, um zu installieren, was nicht installiert wird. 

Zeigt den Installationsort von Pip für Powerline

Um zu sehen, wo pip alles eingefügt hat, geben Sie dies in die Befehlszeile ein:

pip show powerline 

Sie müssen den Verzeichnisstandort kopieren und in dieses Verzeichnis wechseln.

Weiter zur Installation von Powerline durch Pip

Du kannst das ... sehen Stromleitung Verzeichnis- und Python-Ei-Informationen im Verzeichnis. So öffnen Sie eine Finder Fenster in diesem Verzeichnis, geben Sie Folgendes ein:

öffnen . 
Finder im Verzeichnis öffnen und Dateien kopieren

Mit einer Finder Öffnen Sie das Verzeichnis, öffnen Sie die Powerline-Dateien von GitHub und kopieren Sie sie Stromleitung und Skripte Verzeichnisse aus dem GitHub-Download in dieses Verzeichnis.

So erstellen Sie die Grundkonfiguration für Stromleitung, Geben Sie die folgenden Befehle in die Befehlszeilenschnittstelle von ein Terminal:

cd mkdir .config mkdir .config / powerline 

Der Erste CD bringt Sie einfach in das Home-Verzeichnis. Wenn Sie schon eine haben .Konfig Verzeichnis im Heimatverzeichnis können Sie die Erstellung überspringen. Kopieren Sie die Konfigurationsdateien aus der powerline / config_files / Verzeichnis der Stromleitung GitHub Download auf Stromleitung Verzeichnis, das Sie gerade erstellt haben.

Schriftinstallation

In Powerline müssen Sonderzeichen in der verwendeten Schriftart installiert sein. Mit diesen Symbolen können Sie vorkompilierte Schriftarten herunterladen. Ich benutze die Inconsolata für Powerline.

Installieren der Powerline-Schriftart

Wenn Sie die Schriftart heruntergeladen haben, ändern Sie den Namen von Inconsolata für Powerline.otf zu InconsolataPowerline.otf. FontBook wird es sonst nicht richtig öffnen. Nachdem Sie den Namen geändert haben, doppelklicken Sie darauf, um ihn zu öffnen und im System zu installieren.

Terminal und iTerm2 konfigurieren

Bevor die verschiedenen Terminal-Shells formatiert werden, wird die Terminal und iTerm2 Programme müssen für die Verwendung der heruntergeladenen Schrift konfiguriert werden.

Schriftarten am Terminal konfigurieren

Öffne das Einstellungen Dialog für Terminal, wählen die Einstellungen, wählen Text, und wählen Sie Veränderung…  neben dem Schriftart Überschrift. Wähle aus Inconsolata für Powerline Schrift und speichern.

Schriftarten auf iTerm2 konfigurieren

Zum iTerm2, öffne das Einstellungen wählen Sie aus Profile, wählen Text, und wählen Sie Schriftart ändern für die Normale Schrift einstellen Inconsolata für Powerline Schrift und speichern. Machen Sie dasselbe für die Nicht-ASCII-Schriftart Einstellung auch.

Spitze: Wenn die Farben für Stromleitung Wenn Sie sich am Ende von Terminal und iTerm2 unterscheiden, sollten Sie überprüfen, ob die Farben Spezifikationen sind die gleichen. Diese vordefinierten Farben wirken sich auf die verwendeten Farben aus Stromleitung. Wenn Sie unterschiedliche Profile verwenden, sollten diese Voreinstellungen für alle Profile gleich sein, damit sie sich nicht ändern Stromleitungschau mal.

Fisch konfigurieren

Fisch ist eine hoch konfigurierbare Shell für alle Unix-basierten Systeme. Wenn Sie Alfred verwenden, können Sie die Fisch-Werkzeugkasten Workflow zum einfachen Bearbeiten der Konfigurationsdatei.

Fisch-Toolbox-Workflow verwenden

In dem Alfred Prompt, Art f: editconfig und drücken Sie die Eingeben Schlüssel. Der Texteditor, den Sie für die Verwendung mit dem Workflow konfiguriert haben, wird für die geöffnet Fisch Konfigurationsdatei. Ansonsten öffnen Sie die ~ / .config / fish / config.fish Datei im Texteditor. Fügen Sie am Ende die folgenden Zeilen hinzu:

set fish_function_path $ fish_function_path "/Users/raguay/Library/Python/2.7/lib/python/site-packages/powerline/bindings/fish" Powerline-Setup 

Das einstellen Der Befehl muss den Pfad zum Powerline-Verzeichnis haben, wie Sie ihn von erhalten haben pip show powerline Befehl oben. Die nächste Zeile führt die Powerline-Setup Fischfunktion, um die Powerline-Eingabeaufforderung zu erstellen.

Powerline Powered Fish Prompt

Öffnen Sie ein neues iTerm- oder Terminal-Fenster mit Fish. Diese Aufforderung wird angezeigt.

Zsh konfigurieren

Bekommen Zsh mit Stromleitung, Sie können installieren Oh-mein-Zsch. Einmal installiert, setzen Sie einfach das Design auf Agnoster Thema durch Bearbeiten der .zshrc Datei im Heimatverzeichnis. Ändere das ZSH_THEME Linie, um auszusehen

ZSH_THEME = "Agnoster" 
Powerline Powered Zsh Prompt mit dem Oh-My-Zsh Agnoster Theme

Das Zsh Die Eingabeaufforderung sollte jetzt wie im obigen Bild aussehen. Die Unterschiede in der Fisch Aufforderung und die Zsh Eingabeaufforderung haben mit dem zu tun Agnoster Thema für Oh-mein-Zsch anders als die Standardeinstellung Stromleitung Aufbau. Das ist das Problem bei diesem Ansatz: Oh-mein-Zsch Themen ändern die Farben von der Stromleitung planen. Sie können es einige steuern, aber nicht vollständig.

Wenn Sie nicht verwenden möchten Oh-mein-Zsch, dann entfernen Sie alle Verweise auf Oh-mein-Zsch von deiner .zshrc und platziere dies unten:

source /Users/raguay/Library/Python/2.7/lib/python/site-packages/powerline/bindings/zsh/powerline.zsh 

Der Pfad sollte dem entsprechen, was Sie vom erhalten haben pip show powerline Befehl.

Powerline in Zsh Ohne Oh-My-Zsh

Damit ist auf diese Weise nichts kodiert Oh-mein-Zsch Eigenschaften stehen im Weg. Es sieht jetzt genau so aus Fisch Eingabeaufforderung und wird von der Stromleitung Aufbau.

Bash konfigurieren

Das Bash Konfiguration ist fast genauso wie beim zweiten Ansatz Zsh Aufbau. In deiner .bashrc Datei, platziere diese unten:

source /Users/raguay/Library/Python/2.7/lib/python/site-packages/powerline/bindings/bash/powerline.sh 

Der Pfad sollte dem entsprechen, was Sie vom erhalten haben pip show powerline Befehl.

Bash-Konfiguration

Das Bash Eingabeaufforderung sieht jetzt genau so aus Fisch und das Zsh Prompt.

Konfigurieren von Vim und Macvim

Öffnen Sie mit dem Texteditor die .vimrc Datei und fügen Sie diese Zeilen hinzu:

set rtp + = / Users / raguay / Library / Python / 2.7 / lib / python / site-packages / powerline / bindings / vim "Diese Zeilen richten die Umgebung so ein, dass Grafiken und Farben korrekt angezeigt werden. set nocompatible set t_Co = 256 let g: minBufExplForceSyntaxEnable = 1 Python aus powerline.vim importieren Setup als Powerline_setup Python Powerline_setup () Python del Powerline_setup wenn! Has ('gui_running') set ttimeoutlen = 10 augroup FastEscape autocmd! endif set laststatus = 2 "Die Statuszeile immer in allen Fenstern anzeigen. set guifont = Inconsolata \ for \ Powerline: h14 set noshowmode" Den Standardmodus-Text ausblenden (z. B. - INSERT - unterhalb der Statuszeile) 

Diese Konfiguration funktioniert für die Konsole Vim und MacVim. Beachten Sie die Angabe der Schriftart im Guifont einstellen Definition. Sie müssen die Leerzeichen im Namen der Schrift entkommen. Ich mag eine große Schrift, aber Sie können sie verkleinern, indem Sie die Zahl neben der ändern h. Es ist hier auf eine Schriftgröße von 14 pt eingestellt.

Konsole Vim mit Powerline

Um das neueste MacVim mit den richtigen kompilierten Einstellungen für zu installieren Stromleitung, benutze das HomeBrew Installationsbefehl:

Installieren Sie macvim --env-std --override-system-vim 

Das hat MacVim überschreiben Sie das System vim und verwenden Sie die Standardumgebung.

MacVim mit Powerline

MacVim hat die Syntaxhervorhebung vorkonfiguriert, aber die Konsole Vim tut nicht Das Wichtige ist, dass das Stromleitung Statuszeile sieht auf beiden gleich aus!

Konfigurieren von Powerline-Farbschemata und -Designs

Um zu zeigen, wie man die Farben und Themen ändert, werde ich das ändern Schale Konfigurationen. Wechseln Vim und MacVim, Sie werden einem ähnlichen Verfahren folgen.

Alle der Stromleitung Konfigurationsdateien befinden sich im ~ / .config / powerline / Verzeichnis. Dort wirst du sehen:

cd ~ / .config / powerline / ls colors.json colorschemes config.json designs 

Dieses Verzeichnis enthält zwei Dateien (colors.json und config.json) und zwei Verzeichnisse (themen und Farbschemata).

Spitze: Im Stromleitung, Thema bezieht sich auf die Informationsstruktur in der Statuszeile. Es hat nichts mit der Kolorierung zu tun.

Das colors.json Datei definiert die numerischen Werte für den Farbnamen. Sie müssen auf diese Datei verweisen, um zu sehen, welche Farbnamen definiert sind, oder um neue Namen zu erstellen.

Das config.json Datei ist die Hauptkonfigurationsdatei für Stromleitung. Dies ist der erste Ort, an dem das stattfindet Stromleitung sucht nach Konfigurationsinformationen. Es sagt Stromleitung welches Farbschema und Thema für jede Anwendung zu verwenden ist.

Das themen Verzeichnis enthält alle Themen für alle Stromleitung aktivierte Apps Die Designs für jede Shell werden unter sein Themen / Muschel /.

Das Farbschemata Das Verzeichnis enthält die verschiedenen Farbschemata für alle Stromleitung aktivierte Apps Die Farbschemata für Muscheln sind im Farbschemata / Muschel / Verzeichnis.

Öffne das Stromleitung Konfigurationsdatei (~ / .config / powerline / config.json).

Wenn Sie verwenden Alfred, Sie können das herunterladen Powerline-Toolbox Alfred Arbeitsablauf. Verwenden Sie die pl: conf Befehl zum Durchsuchen der Stromleitung Konfigurationsverzeichnis. Wenn Sie eine Datei auswählen, können Sie sie bearbeiten. Wenn Sie ein Verzeichnis auswählen, können Sie es eingeben.

Sie sollten ein großes sehen Json Datei. Die Sektion Schale ist was ich modifiziere:

"shell": "colorscheme": "default", "theme": "default", "local_themes": "fortsetzung": "fortsetzung", "select": "select" 

Ändere das Farbschema Schlüssel zu solarisiert.

Solarisiertes Farbschema unter dem Standardfarbschema

Das wird ein schöner Anfang sein. Um Ihr eigenes zu machen, ändern Sie die Farbschema Schlüssel zu Bergwerk in dem config.json Datei und kopieren colorschemes / shell / solarized.json Datei in colorschemes / shell / mine.json.

Das mein.json sieht so aus:

"name": "Solarized Dark", "groups": "jobnum": "fg": "oldlace", "bg": "darkgreencopper", "user": "fg": "oldlace", "bg": "blau", "attr": ["fett"], "superuser": "fg": "oldlace", "bg": "rot", "attr": ["fett"] , "virtualenv": "fg": "oldlace", "bg": "grün", "branch": "fg": "gray61", "bg": "royalblue5", "branch_dirty":  "fg": "gelb", "bg": "royalblue5", "branch_clean": "fg": "gray61", "bg": "royalblue5", "fortsetzung": "fg": "hellgelb "," bg ":" darkgreencopper "," fortsetzung: aktuell ": " fg ":" oldlace "," bg ":" darkgreencopper "," attr ": [" fett "]," cwd ":  "fg": "hellgelb", "bg": "darkgreencopper", "cwd: current_folder": "fg": "oldlace", "bg": "darkgreencopper", "attr": ["fett"] , "cwd: divider": "fg": "gray61", "bg": "darkgreencopper", "hostname": "fg": "oldlace", "bg": "darkgreencopper", "exit_fail" : "fg": "oldlace", "bg": "red", "exit_success": "fg": "oldlace", "bg": "green", "Umgebung": "fg": "oldlace", "bg": "grün", " mode ": " fg ":" oldlace "," bg ":" green "," attr ": [" fett "]," mode_translations ": " vicmd ": " groups ": " mode " : "fg": "oldlace", "bg": "blue", "attr": ["fett"] 

Sie müssen das ändern Name Schlüssel zum Wert Bergwerk. Nehmen Sie auch diese Änderungen vor:

"cwd": "fg": "hellgelb", "bg": "gray13", "cwd: divider": "fg": "gray61", "bg": "gray13", 

Wenn Sie Ihre Datei speichern und auf dem Terminal die Eingabetaste drücken, wird das neue Farbschema angezeigt.

Das Minenfarbschema unter dem Solarized-Farbschema

Es ist nützlich, eine Datums- und Zeitanzeige anzuzeigen. Um die Segmentlayouts zu ändern, eine neue Thema muss erstellt werden. In dem config.json Datei, ändern Sie die Thema Schlüssel zum Wert Bergwerk. Kopiere das theme / shell / default.json Datei in thema / shell / mine.json. Kurz vor der Json-Liste mit der Hostname, füge diese json list hinzu:

"name": "date", "args": "format": "% m-% d% H:% M", 

Dieses Bit von Json-Code fügt ein neues Segment mit der Datum Befehl. Das Datum Befehl benötigt zwei Argumente: Format das enthält das Format für die Spielzeit () Python-Befehl und ist an der Zeit das zeigt an, ob Sie ein separates verwenden sollten Zeit Farbschema als die Datum ein. Der Standardwert für ist an der Zeit ist gut. Diese Format zeigt das Datum durch ein Monat-Tag 24 Stunden: Minuten Format.

Da nun ein neues Segment vorhanden ist, muss ein Farbschema hinzugefügt werden. In dem Farbschema / shell / mine.json Datei, fügen Sie diese Zeilen direkt über jobnum:

"date": "fg": "mediumcyan", "bg": "brightpurple", "time": "fg": "mediumcyan", "bg": "brightpurple", "time: divider": "fg": "mediumcyan", "bg": "white", 

Um die Anzahl der in der Eingabeaufforderung angezeigten übergeordneten Verzeichnisse zu verkürzen, müssen Sie das Verzeichnis ändern thema / shell / mine.json Datei, um die cwd Segment sieht so aus:

"name": "cwd", "args": "dir_limit_depth": 2, 

Das dir_limit_depth legt fest, wie viele übergeordnete Verzeichnisse angezeigt werden. Hier ist es eingestellt 2.

Speichern Sie die Konfigurationsdateien und Sie können sehen, wie es aussieht.

Datum und Uhrzeit der Shell-Eingabeaufforderung hinzugefügt

Der in diesem Tutorial verfügbare Download enthält die Konfigurationsdateien, die Sie jetzt haben werden. Wenn Sie einen Fehler in den Dateien machen, wird die Stromleitung Eingabeaufforderung zeigt schnell Fehler an.

Die Liste der gebräuchlichen und anwendungsspezifischen Befehle hilft Ihnen dabei, weitere Möglichkeiten zur Änderung Ihrer Eingabeaufforderung zu finden. Da alles in Python enthalten ist, können Sie sogar eigene erstellen!

Fazit

In diesem Tutorial habe ich Ihnen gezeigt, wie Sie das konfigurieren Fisch Schale, Zsh Schale, Bash Schale, Konsole Vim, MacVim benutzen Stromleitung. Sie wissen jetzt, wie Sie das Aussehen und Verhalten von ändern Schale Prompt. Das einzige, was bleibt, ist, mit Ihrem neuen Wissen herumzuspielen und die ultimative Konfiguration nur für Sie zu erhalten!