Liquidprompt ...

"Drüben" in Google+ hat Christian das Repository liquidprompt empfohlen. Liquidprompt setzt sehr komfortabel den Shell-Prompt für die bash oder zsh. Dabei sammelt sie Informationen aus vielen verschiedenen Quellen, beispielsweise die Uhrzeit, den Batteriestatus (von grün nach rot), die Systemlast (load), Temperatur, den Status des Versionskontrollsystems, einen grünen Doppelpunkt für Schreibrechte im aktuellen Verzeichnis (sonst rot), und, und, und ...
Die "Installation" ist sehr einfach (bei mir sind alle Repositories unterhalb von
workspace
):cd ~/workspace
git clone https://github.com/nojhan/liquidprompt.git liquidprompt.git
git clone https://github.com/nojhan/liquidprompt.git liquidprompt.git
Ich folge damit auch einer Anregung von Federico, der alle Verzeichnisse, die git-Repositories enthalten auf
.git
enden lässt.Aktiviert wird liquidprompt durch
source ~/workspace/liquidprompt.git/liquidprompt
Sollte man mit den Einstellungen einverstanden sein, ist nichts weiter zu tun.
Wenn man aber Änderungen vornehmen will, kopiert man die Datei mit den Voreinstellungen und nimmt dort Änderungen vor.
cp ~/workspace/liquidprompt.git/liquidpromptrc-dist ~/.liquidpromptrc
vim ~/.liquidpromptrc
source ~/workspace/liquidprompt.git/liquidprompt
vim ~/.liquidpromptrc
source ~/workspace/liquidprompt.git/liquidprompt
So, habe ich beispielsweise, die Uhrzeit mittels
LP_ENABLE_TIME=1
aktiviert und Versionskontrollsysteme, die ich nicht benutze deaktiviert. Es macht sich besonders unter Cygwin bemerkbar, wenn zu viele Optionen aktiv sind, unter Linux ist das meiner Beobachtung nach kein Problem.Wenn alle Einstellungen zur Zufriedenheit getroffen sind, braucht nur die Zeile an die
~/.bashrc
oder ~/.zshrc
angehängt werden. Die Webseite enthält eine ausführliche Beschreibung aller Optionen und auch eine Beschreibung, wie man die Farben anpassen kann.
Trackbacks
Dirks Logbuch am : Solarized ...
Vorschau anzeigen
Dann werfe ich gleich noch einmal ein technisches Thema nach, das passt auch ein wenig zu Liquidprompt. Es geht um Solarized von Ethan Schoonover. Solarized ist eine Farbpalette, die aus acht monchromen Farbunterschieden und acht "echten Farben" besteht
seraphyn.teiko.org am : PingBack
Vorschau anzeigen
Der Standardleitweg am : Liquidprompt
Vorschau anzeigen
Nachdem sowohl Dirk als auch Christian darüber gebloggt haben musste ich mir ja auch mal den Liquidprompt ansehen.Liquidprompt ist eine Erweiterung des Prompts der bash oder zsh und passt sich dynamisch dem an wo man gerade auf der Konsole ist. Die Anzei
Pub Rika am : LiquidPrompt
Vorschau anzeigen
Kennt ihr das? Ihr entwickelt fleißig mit Git, commitet regelmäßig und dann stellt ihr fest, dass die ganze Arbeit umsonst war. Warum? Weil ihr auf dem falschen Branch ward. Ich erlebe das regelmäßig. Aber jetzt habe ich bei Dirk eine Empfehlung zum Li…
Dirks Logbuch am : 2013 im Blog ...
Vorschau anzeigen
Im Jahr 2013 habe ich so wenig gebloggt, wie noch nie. Ich nehme mir nicht vor, mehr zu bloggen und ich weiss nicht, wie ich das Blog weiterhin füllen werde, aber es wird vermutlich oder hoffentlich weiterhin Inhalte geben ... Meine Highlights 2013 im Blo
Kommentare
Ansicht der Kommentare: Linear | Verschachtelt
Christian M. Grube am :
Das ist Nett von Dir.
Die Idee mit der Endung auf .git übernehme ich doch glatt, auch wenn sie der Link bei mir Leider nicht öffnet.
Sehr gute Idee
Dirk Deimeke am :
Das schöne mit der Endung auf .git ist, dass Du leicht ein Skript darüber laufen lassen kannst.
Christian M. Grube am :
Script, mach mich neugierig.... Hast Du, okay.
Nun möchte ich mehr Wissen, vielleicht einen Artikel?
Christian
Dirk Deimeke am :
Frakturfreund am :
Ich finde das etas doppelt gemoppelt, das eigentliche Verzeichnis mit den Git-Daten liegt dann ja unter project.git/.git … ich kenne diese Konvention eigentlich nur von Bare-Repositories (git init --bare) auf Servern, also Git-Repos ohne lokalen Checkout. Da macht der Name project.git/ Sinn, weil in diesem Order die Git-Daten direkt liegen und es keinen .git/ Unterordner gibt.
Und wenn man die Pfade seine lokalen Git-Repos für ein Skript brucht, reicht auch ein find ~ -type d -name .git
PS: Der Link unten zu zu »BBCode-Formatierung erlaubt« führt grade auf ein »502 Bad Gateway«
Dirk Deimeke am :
Im Verzeichnis selbst ist die ausgecheckte Arbeitskopie zu finden.
Der Link hat jetzt gerade funktioniert, eventuell hatte phpBB einen Engpass.
Frakturfreund am :
find . -type d -name .git -execdir sh -c "pwd && git pull --rebase" \;
Für .svn oder .hg entsprechend
Dirk Deimeke am :
do
case $i in
*.git) echo "Git $i"
;;
*.svn) echo "Subversion $i"
;;
*.hg) echo "Mercurial $i"
;;
*.bzr) echo "Bazaar $i"
;;
*) echo "Weiss nicht $i"
;;
esac
done
Mir gefällt das besser und ich finde das übersichtlicher.
Frakturfreund am :
Dirk Deimeke am :
Axel Beckert am :
Wobei ich das selten nachschauen muss, denn im Normalfall zeigt's mir auch der Prompt.
Und eine Schleife über alle Verzeichnisse, die ein Unterverzeichnis namens .git haben, machen, ist auch kein Hexenwerk:
for i in $(find . -name .git -type d); do echo ${i:h}; done
Aber zurück zum eigentlichen Thema: Liquidprompt muss ich mir definitiv auch mal anschauen. Alleine schon um neue Ideen zu bekommen, wie man den Prompt gestalten könnte, denn momentan bin ich ein wenig unzufrieden mit meinem Prompt-Layout:
!520 Z2 ?0 L1 ssh abe@kiva6:~/pkg-perl/git/packages/ack-grep (pts/3 -zsh 5.0.2-test-3 sid) 2:42:44 (git) [master| ✔ ]
[…]it/packages/ack-grep →
Denn eigentlich habe ich zwei gegensätzliche Anforderungen:
1. Prompt muss "user@host:voller/pfad" zum schnellen Copy&Paste für scp oder rsync enthalten.
2. Prompt sollte kurz sein und direkt vor der Eingabe den Pfad anzeigen.
Momentan löse ich das, indem mein Prompt zweizeilig ist und die hintersten 20 Zeichen des Pfades doppelt angezeigt werden. Und genau das doppelte missfällt mir, auch wenn es alleine schon rein logisch nicht anders geht. Deswegen will ich Ausschau nach neuen Ideen halten.
Und ja, o.g. Prompt zeigt mir u.a. an, _wie_ ich zur Shell kam. In diesem Fall per ssh. Aber er kann auch screen, tmux, mosh, sudo, etc. anzeigen.
Dirk Deimeke am :
Die "Arbeit" in welchem Repository ich mich befinde, nimmt mir Liquidprompt ab. Das zeigt auch den Branch an, das ist mir wichtig, damit Commits nicht an der falschen Stelle landen.
Die Schleife benutze ich auch, allerdings in einem repack- und in einem Aktualisierungsskript.
Mir wäre Dein Prompt deutlich zu lang. Die Informationen, die ich sofort brauche, sehe ich jetzt und ich brauche nicht so viele Informationen sofort wie Du. Das hat auch damit zu tun, wie häufig bestimmte Aufgaben ausgeführt werden.
Mit einem zweizeiligen Prompt konnte ich mich nie anfreunden.
Tmux und screen kann liquidprompt übrigens auch