oh my zsh

zsh einrichten für macOS oder Linux

Gepostet von Andreas Nölke am

Die Shell ZSH ist jedem Entwickler oder CLI Benutzer unter Linux oder macOS bestimmt ein Begriff. Für Nutzer einer CLI führt in meinen Augen an der frei konfigurierbaren ZSH kein Weg vorbei.

In diesem Beitrag möchte ich euch zeigen wie ihr ZSH einrichtet, um sie dann später leichter konfigurieren zu können. Hierbei spielt es keine Rolle ob du ein macOS oder ein Linux Nutzer bist. Auf beiden System kann ZSH installiert und konfiguriert werden. Windows lasse ich hier außen vor, da ich hier zu lange von weg bin um zu wissen wie man ZSH dort einrichtet oder konfiguriert. Ich kann mir aber gut vorstellen das man ZSH in dem Linux-Subsystem unter Windows einrichten kann.

ZSH und oh my ZSH

Wer sich mit ZSH beschäftigt kommt sehr schnell mit Oh my ZSH! in Verbindung. Ich möchte kurz erläutern wo die Unterschiede sind.

ZSH selber ist die Shell wie BASH oder SH. Und muss je nach System extra installiert werden. Bei macOS Catalina ist ZSH bereits vorinstalliert und sieht entsprechend "nackt" aus.

Das ist die reine ZSH mit ihrerer Standard konfiguration.

ZSH Unformatiert
ZSH Unformatiert

Hier kommt nun oh my ZSH ins Spiel. Oh my ZSH! ist ein Opensource-Framework welches ZSH in ein neues Licht rückt und es einfach toll aussehen lässt. Das Projekt wurde ursprünglich von Robby Russel ins leben gerufen und erfreut sch seit dem größter Beliebtheit. Oh my ZSH! kann noch viel mehr, so gibt es die unterschiedlichsten Plugins für docker, git, Azure, Kubernetes und vieles mehr.

Das bedeutet also, um in den vollen genuss von ZSH zu kommen, muss man zuerst die Shell ZSH selbst installieren und danach dann Oh my ZSH! um ZSH mit all den Themes und Plugins zu verwenden die es da draußen so gibt.

Auf dem folgenden Bild seht ihr meine ZSH mit einem angepassten Pure Theme.

ZSH im Pure look
ZSH im Pure look

Installation von ZSH

Je nach Betriebsystem ist ZSH bereits vorinstalliert oder muss extra installiert werden. Hierzu kann man einfach ein Terminal öffnen und "zsh" eintippen. Wird kein Fehler angezeigt in Form von Command not found ist ZSH bereits installiert.

Unter macOS Catalina ist ZSH bereits installiert und man kann direkt Oh my ZSH! installieren. Kubuntu kam bisher ohne ZSH und es musste nachinstalliert werden. Ebenso Manjaro, ein Arch Ableger.

Ich möchte hier nicht jede einzelne ZSH installationsweise vorstellen oder beschreiben. Das kannst du ganz leicht über die Suchmaschine deiner Wahl finden und installieren.

Oh my ZSH! installieren

Als nächstes empfehle ich Oh my ZSH! zu installieren. Auf der Seite von Oh my ZSH! werden die Wege über curl und wget beschreiben.

Hierbei kann man nehmen was einem mehr liegt oder auf dem entsprechenden System installiert ist.

Oh my ZSH! mit curl installieren
$ sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Oh my ZSH! mit wget installieren
$ sh -c "$(wget https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)"

Oh my ZSH! wird benötigt um ZSH ein besseres aussehen zu verpassen und auch Plugins und Themes zu verwenden.

ZSH als default shell einrichten

Bevor man ZSH als default shell einrichtet, kann man in einem Terminal einfach zsh eintippen um die Shell zu wechseln. Du solltest dann das default Theme sehen.

$ zsh
ZSH mit Theme "robbyrussell"
ZSH mit Theme "robbyrussell"

Danach kannst du dich in jeglicher Richtung austoben und die Default Themes ändern und der ZSH ein Aussehen geben das dir gefällt. Auf der ZSH Theme Seite könnt ihr euch einen kleinen Überblick verschaffen was alles möglich ist.

Nun kann man mit dem Befehl die "chsh" die shell wechseln. Das kann man in zwei Schritten tun, oder auch in einem. Ich bevorzuge die kompakte variante.

$ chsh -s $(which zsh)

Fazit

Ich arbeite nun schon einer Weile mit ZSH und kann es nur empfehlen ZSH zu verwenden und mit Oh my ZSH! anzupassen. Die umfassenden Plugins machen vieles einfacher und schneller in der CLI.

In einem weiteren Artikel möchte ich näher darauf eingehen wie ich meine Shell angepasst habe und welche vorteile es mir bei der Arbeit bringt.