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
- Git Bash
- 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"
- Git Bash
- Änderung zum Index hinzufügen
- Git Bash
git add file.txt
- oh-my-zsh
ga file.txt
- Git Bash
- Pull machen
- Git Bash
git pull
- oh-my-zsh
gl
- Git Bash
- Push machen
- Git Bash
git push
- oh-my-zsh
gp
- Git Bash
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.
- Ladet von der Babun Homepage die Distributionsdatei (Zip Archive) herunter (Klick „Download now“).
- 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.
- Lade ein PowerLine Font aus dem Git Repository. Als Beispiel soll DejaVuSansMono/DejaVu Sans Mono Bold for Powerline.ttf dienen.
- Öffne cmd
- Installiere die ausgewählte Powerline Font mit RegisterFont mit
%user.home%\.babun\fonts\RegisterFont.exe add "DejaVu Sans Mono Bold for Powerline.ttf"
- Öffne
%user.home%/.babun/cygwin/home/.minttyrc
mit einem Editor und füge die ZeileFont=DejaVu Sans Mono Bold for Powerline
ein. Damit weiß Babun, welche Font es benutzen soll.
-
Trage agnoster als Theme in
%user.home%/.babun/cygwin/home/.zshrc
einZSH_THEME="agnoster"
-
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:
Weiterführende Links
- Babun Homepage
- oh-my-zsh Homepage
- Cygwin Homepage
- Mintty Homepage
- Look&Feel für Mintty basierend auf diesem Blog Post
Welche Erfahrungen hast du als Windows User schon mit oh-my-zsh gemacht? Lohnt sich die Installation?
17 Kommentare
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 🙂
Vielen Dank für die Infos und dein Feedback. Die Anleitung hatte ich auf Windows 7 64-Bit getestet.
[…] 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 […]
Vielen Dank! War eine große Hilfe!
[…] Plattform kann entweder manuell für Windows oder Linux installiert werden, steht als Docker-Image zur Verfügung oder kann als OVA-Image […]
[…] zufrieden. Es gab noch ordentliche Best-Practice-Lösungen im Tool-Handling mit PhpStorm und dem oh-my-zsh […]
[…] 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 […]
[…] 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 […]
[…] Ausgabe vom Timestamp im oh-my-zsh Terminal macht Sinn, ist aber leider kein Standard in dem beliebten Agnoster Theme. Das ist eigentlich […]
[…] 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 […]
[…] 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. […]
[…] 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 […]
[…] live. Hier aber erstmal die entscheidende Codezeile für eure Command Line – bei mir ist ja oh-my-zsh im […]
[…] der Command Line werden unterschiedliche URLs für den Aufruf der lokalen Domain gezeigt. Ich nehme in eigentlich […]
[…] 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 […]
[…] 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 […]
[…] 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 […]