Warum native Windows User oh-my-zsh eine Chance geben sollten

Von Sandra Parsick
17 Kommentare
Windows oh-my-zsh

Viele arbeiten unter Linux mit oh-my-zsh als Shell. Doch manchmal macht es die Projektsituation erforderlich, dass man unter Windows arbeiten muss – ohne dabei aber auf den Komfort von oh-my-zsh verzichten zu wollen. In diesem Beitrag erfährst du, warum oh-my-zsh auch für native Windows User interessant sein kann und wie oh-my-zsh mit dem Agnoster Theme auf Windows installiert wird.


Es ist unter Windows nicht sehr komfortabel, auf der CMD oder auf der Powershell zu arbeiten. Meistens muss die CMD auch nicht benutzt werden. Doch auch unter Windows gibt es Anwendungen, die sich komfortabler auf einer Shell bedienen lassen als über eine GUI. Beispiel wäre die Anwendung git. Git liefert eine Git Bash für Windows mit. Diese macht das Arbeiten mit Git schon etwas „bequemer“ als unter CMD. Das kann aber mit oh-my-zsh und dem git Plugin noch verbessert werden. Dies möchte ich hier einmal anhand typischer Workflows demonstrieren:

  • Den Branch Master auschecken
    • Git Bash
      git checkout master
      
    • oh-my-zsh
      g checkout master 
      gco master # es geht noch kürzer
      gcm # alias speziel für master
  • Ein Commit machen
    • Git Bash
      git commit -m "Ein sinnvolle Commit Nachricht"
    • oh-my-zsh
       g commit -m "Ein sinnvolle Commit Nachricht" # es geht noch kürzer
       gcm "Eine sinnvolle Commit Nachricht"
  • Änderung zum Index hinzufügen
    • Git Bash
      git add file.txt
    • oh-my-zsh
      ga file.txt
  • Pull machen
    • Git Bash
      git pull
    • oh-my-zsh
      gl
  • Push machen
    • Git Bash
      git push
    • oh-my-zsh
      gp

Babun Installation und Konfiguration


Kommen wir dazu, wie oh-my-zsh auf Windows installiert wird. Dabei wird oh-my-zsh nicht direkt installiert, sondern über die Windows Shell Babun. Babun setzt auf Cygwin auf. Ein Vorteil von Babun ist, dass es einen vorkonfigurierten Cygwin bereitstellt und diesen mit weiteren nützlichen Werkzeugen wie z. B. pact, einen Package Manager, der Mintty Konsole und einen vorinstallierten oh-my-zsh erweitert. Babun kann ohne Admin-Rechte installiert werden. Diese werden nur benötigt, wenn man das Agnoster Theme nutzen möchte.

  1. Ladet von der Babun Homepage die Distributionsdatei (Zip Archive) herunter (Klick „Download now“).
  2. Extrahiert sie und ruft die Datei install.bat auf.

Damit ist Babun und oh-my-zsh (ist die Default-Shell) einsatzbereit. Soll oh-my-zsh noch konfiguriert werden, dann findet ihr unter %user.home%/.babun/cygwin/home/ die Konfigurationsdatei .zshrc. Diese Konfigurationsdatei wird benötigt, wenn z. B. oh-my-zsh Plugins (Liste der verfügbaren Plugins) aktiviert werden sollen oder das oh-my-zsh Theme (Liste der verfügbaren Theme) angepasst werden soll.

Plugins werden aktiviert, indem sie unter plugins eingetragen werden.

 plugins=(git git-extras history mvn web-search)

Das Theme wird gewechselt, indem Theme Name unter ZSH_THEME eingetragen wird. Eine Besonderheit gibt es beim Theme agnoster. Dieses Theme benötigt noch ein zusätzliches Setup, um spezielle Zeichensätze anzuzeigen.

Agnoster Theme Installation

Damit die speziellen Zeichensätze für Agnoster von Babun angezeigt werden können, müssen die Powerline Fonts installiert werden. Normalerweise werden Admin-Rechte benötigt, um in Windows Zeichensätze zu installieren. Es ist aber möglich, mit dem Werkzeug RegisterFont (wird mit Babun ausgeliefert) temporär ohne Admin-Rechte Zeichensätze in Windows zu installieren.

  1. Lade ein PowerLine Font aus dem Git Repository. Als Beispiel soll DejaVuSansMono/DejaVu Sans Mono Bold for Powerline.ttf dienen.
  2. Öffne cmd
  3. Installiere die ausgewählte Powerline Font mit RegisterFont mit
     %user.home%\.babun\fonts\RegisterFont.exe add "DejaVu Sans Mono Bold for Powerline.ttf"
  4. Öffne %user.home%/.babun/cygwin/home/.minttyrc mit einem Editor und füge die Zeile
    Font=DejaVu Sans Mono Bold for Powerline

    ein. Damit weiß Babun, welche Font es benutzen soll.

  5. Trage agnoster als Theme in %user.home%/.babun/cygwin/home/.zshrc ein

    ZSH_THEME="agnoster"
  6. Starte Babun neu

Mit der Konfigurationsdatei %user.home%/.babun/cygwin/home/.minttyrc wird das Look&Feel der Babun Konsole konfiguriert, so können z. B. Transparenz oder Farben etc. eingestellt werden.

BoldAsFont=no
 Columns=150
 Rows=55
 Font=DejaVu Sans Mono Bold for Powerline
 FontHeight=10
 Transparency=low

ForegroundColour=#A0A0A0
 BackgroundColour=#1B1D1E
 CursorColour=#A0A0A0
 Black=#1B1D1E
 Red=#F92672
 Green=#82B414
 Yellow=#FD971F
 Blue=#268BD2
 Magenta=#8C54FE
 Cyan=#56C2D6
 White=#CCCCC6
 BoldRed=#FF5995
 BoldBlack=#505354
 BoldGreen=#B7EB46
 BoldYellow=#FEED6C
 BoldBlue=#62ADE3
 BoldMagenta=#BFA0FE
 BoldCyan=#94D8E5
 BoldWhite=#F8F8F2

Dann sieht die Shell folgendermaßen aus:
babun_look_feel_example

Weiterführende Links


Welche Erfahrungen hast du als Windows User schon mit oh-my-zsh gemacht? Lohnt sich die Installation?

17 Kommentare

Tutorials und Top Posts

17 Kommentare

Alex Rampp 26. Juli 2017 - 12:08

Danke für den tollen Blogpost.
Zwei Sachen waren bei meiner Installation (Windows 10 64 Bit) anders als in der Anleitung:
1. Der Home Pfad ist unter Windows 10: %USERPROFILE%\.babun\cygwin\home\%USERNAME%
2. Die Installation der Powerline Font mit RegisterFont klappte nicht. Workaround: Rechtsklick auf die Font Datei und „Install“ wählen, danach die Font in den Optionen des Terminaladapters einstellen
Vielen Dank für die tolle Anleitung 🙂

Reply
Sandra Parsick 1. August 2017 - 20:32

Vielen Dank für die Infos und dein Feedback. Die Anleitung hatte ich auf Windows 7 64-Bit getestet.

Reply
Tutorial - Automatisierte Tests für Batchjobs - HowTo Gastbeitrag 8. September 2018 - 13:54

[…] notwendig: Ein Editor zum Anpassen der JCL-Datei, ein SQL-Editor wie z. B. DBeaver, eine Command Shell zum Senden der JCL an den Host sowie zum Herunterladen der erstellten Dateien (Für Zweitgenanntes […]

Reply
Sebastian 20. September 2018 - 10:30

Vielen Dank! War eine große Hilfe!

Reply
Qualität durch zentrale Konfiguration und Überwachung 13. November 2018 - 21:51

[…] Plattform kann entweder manuell für Windows oder Linux installiert werden, steht als Docker-Image zur Verfügung oder kann als OVA-Image […]

Reply
Codeception Tests finden selber Bugs – PHP Training lohnt sich direkt 20. Januar 2019 - 15:50

[…] zufrieden. Es gab noch ordentliche Best-Practice-Lösungen im Tool-Handling mit PhpStorm und dem oh-my-zsh […]

Reply
Visual Studio Code – Live Sharing Feature – PhpStorm Killer? 25. Januar 2019 - 13:17

[…] Auf Windows gibt es wohl auch bei Docker bedeutend weniger Performance Probleme, als bei Apple. Die oh-my-zsh Shell bekommt man hier übrigens auch zum Laufen. Tatsächlich kenne ich auch zunehmend immer mehr […]

Reply
TYPO3 Camp Venlo 2019 Review Blog Post Codeception Workshop 28. März 2019 - 20:19

[…] waren von dem technischen KnowHow und ihren Fingerfertigkeiten beim Tool-Handling mit PhpStorm und oh-my-zsh am Terminal sehr sicher. Das hat wirklich viel Spaß gemacht. Entwickler die sich freiwillig auf solchen Events […]

Reply
oh-my-zsh Timestamp - Date im Terminal - HowTo Tutorial 3. April 2019 - 14:10

[…] Ausgabe vom Timestamp im oh-my-zsh Terminal macht Sinn, ist aber leider kein Standard in dem beliebten Agnoster Theme. Das ist eigentlich […]

Reply
Git Merge rückgänig machen - PHP Schulung und HowTo Tutorial 24. Juli 2019 - 9:28

[…] setze ich ja Git auf dem oh-my-zsh Terminal mit dem Agnoster Theme ein. Hier werden mit dem Git-Plugin einige Aliase zur Verfügung gestellt. Hier wird der Befehl […]

Reply
Iterm2 mit dem Agnoster Theme in oh-my-zsh nutzen - Mac Installation 21. August 2019 - 10:00

[…] Iterm2 kann man oh-my-zsh mit dem Agnoster Theme auf seinem Mac nutzen. Eine Anleitung für Windows und oh-my-zsh gibt es hier. Dadurch kann man direkt den „git status“ farblich auf der Linux Command Line sehen. […]

Reply
PHPStan und Code Standard – PHP-Training für Teams mit PHPUnit 10. Oktober 2019 - 12:32

[…] Hemer bei Iserlohn wollte eher viel Best-Practice-Wissen und Software-Entertainment. Also Tools, Command Line, PhpStorm Plugins, PhpStorm-Shortcuts und natürlich einfache Tests, komplexe Tests und möglichst […]

Reply
Docker stop all containers - PHP-Tricks als PHP-Schulung Tutorial 28. Januar 2020 - 23:25

[…] live. Hier aber erstmal die entscheidende Codezeile für eure Command Line – bei mir ist ja oh-my-zsh im […]

Reply
DDEV und Sulu – Symfony Content Management System mit Docker 6. Februar 2020 - 17:11

[…] der Command Line werden unterschiedliche URLs für den Aufruf der lokalen Domain gezeigt. Ich nehme in eigentlich […]

Reply
PhpStorm Live Templates schnelles Arbeiten mit Gamification 9. März 2020 - 10:24

[…] sind mein Leben. Allein der Einsatz von oh-my-zsh und Plugins macht meinen Tag schneller und besser. Das motiviert mich in meinem Job als Fullstack […]

Reply
Git branch delete merged - Aufräumen der lokalen Umgebung - Employer Branding und Tutorials Web Development 31. August 2020 - 13:40

[…] an, dann sind hier nach einigen Wochen wirklich viele zusammengekommen. Wechselt man hier mit oh-my-zsh und einer Tab-Autocompletion auf einen Branch, dann wird es hier sehr unübersichtlich. Also muss […]

Reply
oh-my-zsh Syntax Highlighting Plugin effektiv im Terminal nutzen 3. Januar 2021 - 17:49

[…] den zsh-syntax-highlighting Plugin kann man bei oh-my-zsh Syntax Highlighting aktivieren. Das hat den großen Vorteil als Webdeveloper schon bei der Eingabe […]

Reply

Gib uns Feedback

Diese Seite benutzt Cookies. Ein Akzeptieren hilft uns die Seite zu verbessern. Ok Mehr dazu