2tap2b

Oh My Zsh - Mein Terminal Setup

Inhaltsverzeichnis

Warum überhaupt Zsh mit Oh My Zsh?

Wenn du viel im Terminal unterwegs bist, gibt es ziemlich viele praktische Tools, um dir das Leben leichter zu machen. Eines der elementarsten ist für mich Zsh mit dem Oh My Zsh Framework. Es sieht nicht nur verdammt cool aus, es hat auch echt super coole Funktionen, die das Daily Life als Dev wirklich erleichtern.

fastfetch

Hier erkläre ich dir, wie du es installierst, welche Plugins ich nutze und welche praktischen Hotkeys dir den Alltag versüßen.

Was bringt dir Zsh mit Oh My Zsh konkret?

  • Intelligente Auto-Completion: Schlägt dir Befehle basierend auf deiner Historie vor
  • Syntax-Highlighting: Zeigt dir sofort, ob ein Befehl korrekt ist oder nicht
  • Git-Integration: Siehst auf einen Blick, in welchem Branch du bist und ob es uncommitted Changes gibt
  • Themes: Dein Terminal sieht einfach geiler aus
  • Plugins: Hunderte von Plugins für alle möglichen Use Cases
  • Alias-Magie: Spart dir unfassbar viele Tastenanschläge

yarn-dev


Voraussetzungen

Bevor wir starten, stellt sicher, dass folgende Voraussetzungen erfüllt sind:

  • Ein Linux-System, macOS oder WSL unter Windows
  • Grundlegende Terminal-Kenntnisse
  • Git sollte installiert sein

Zsh installieren

Als Erstes installieren wir Zsh selbst. Je nach Betriebssystem geht das unterschiedlich:

Ubuntu/Debian:

sudo apt update
sudo apt install zsh -y

Fedora/CentOS/RHEL:

sudo dnf install zsh -y

OpenSUSE:

sudo zypper in zsh -y

macOS:

brew install zsh

Auf macOS ist Zsh meistens schon vorinstalliert, aber ein Update schadet nie.

Zsh als Standard-Shell setzen:

Nach der Installation solltest du Zsh als deine Standard-Shell festlegen:

chsh -s $(which zsh)

Danach musst du dich aus- und wieder einloggen, damit die Änderung wirksam wird.


Oh My Zsh installieren

Jetzt kommt der coole Teil – Oh My Zsh ist ein Framework, das Zsh erst richtig mächtig macht. Die Installation ist denkbar einfach:

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

Alternativ mit wget, falls du kein curl hast:

sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

Das Installations-Script richtet alles für dich ein und erstellt eine .zshrc-Datei in deinem Home-Verzeichnis. Das ist die Konfigurations-Datei, in der wir gleich noch rumschrauben werden.


Ein geiles Theme auswählen

Oh My Zsh kommt mit über 100 vorinstallierten Themes. Du findest sie alle im Verzeichnis ~/.oh-my-zsh/themes/.

Ein Theme aktivieren:

Öffne die .zshrc-Datei:

nano ~/.zshrc

Suche nach der Zeile mit ZSH_THEME und ändere sie zum Beispiel auf:

ZSH_THEME="agnoster"

Speichere die Datei und lade die Konfiguration neu:

source ~/.zshrc

Powerlevel10k installieren (meine Empfehlung)

Powerlevel10k ist technisch gesehen kein Oh My Zsh Theme, funktioniert aber perfekt damit:

git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k

In der .zshrc:

ZSH_THEME="powerlevel10k/powerlevel10k"

Dann Terminal neu laden:

source ~/.zshrc

Beim ersten Start öffnet sich ein super praktischer Konfigurations-Wizard, der dich durch die Einrichtung führt. Folge einfach den Anweisungen – es ist selbsterklärend.

Falls du komische Zeichen oder Kästchen siehst, installiere eine Powerline-Font wie “MesloLGS NF” und stelle sie in deinen Terminal-Einstellungen ein.


Die besten Plugins

Jetzt wird’s richtig interessant. Plugins sind das Herzstück von Oh My Zsh. Hier sind meine Must-Haves:

Plugins aktivieren

Öffne wieder deine .zshrc:

nano ~/.zshrc

Suche nach der Zeile plugins=(git) und erweitere sie:

plugins=(
  git
  docker
  docker-compose
  npm
  node
  zsh-autosuggestions
  zsh-syntax-highlighting
  dirhistory
  sudo
  ubuntu        # für Ubuntu/Debian
  # dnf         # für Fedora/RHEL/CentOS
  # suse        # für OpenSUSE
)

Community-Plugins installieren

Einige der besten Plugins sind nicht standardmäßig dabei und müssen manuell installiert werden:

zsh-autosuggestions (schlägt Befehle vor):

git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

zsh-syntax-highlighting (färbt Befehle direkt beim Tippen):

git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

Nach der Installation die .zshrc neu laden:

source ~/.zshrc

Was bringen dir die einzelnen Plugins?

git: Hunderte von Git-Aliases. Statt git status tippst du nur gst, statt git add --all nur gaa.

docker / docker-compose: Auto-Completion für Docker-Befehle und praktische Aliases.

npm / node: Shortcuts für npm-Befehle und Node-Verwaltung.

zsh-autosuggestions: Schlägt dir Befehle in Grau vor, während du tippst. Mit Pfeil-rechts akzeptierst du den Vorschlag.

zsh-syntax-highlighting: Färbt Befehle grün, wenn sie korrekt sind, und rot, wenn sie fehlerhaft sind.

dirhistory: Navigiere durch deine Verzeichnis-Historie mit Alt+Links/Rechts/Hoch.

sudo: Drücke zweimal ESC, um sudo vor deinen letzten Befehl zu setzen. Hast du vergessen, einen Befehl mit sudo auszuführen? Einfach zweimal ESC drücken, und schon wird sudo vorangestellt.

ubuntu / dnf / suse: Package-Manager-Aliases für deine Distribution. Aktiviere nur das Plugin, das zu deiner Distro passt.


Praktische Hotkeys und Tricks

Hier ein paar Game-Changer, die ich täglich nutze:

Auto-Suggestions

  • Pfeil-rechts: Akzeptiert den kompletten Vorschlag
  • Ctrl+Pfeil-rechts: Akzeptiert nur das nächste Wort

Verzeichnis-Navigation

  • ..: Wechselt ein Verzeichnis hoch
  • ...: Zwei Verzeichnisse hoch
  • -: Wechselt zum vorherigen Verzeichnis (wie cd -)
  • Alt+Links: Vorheriges Verzeichnis (dirhistory plugin)
  • Alt+Rechts: Nächstes Verzeichnis (dirhistory plugin)
  • Alt+Hoch: Übergeordnetes Verzeichnis (dirhistory plugin)

Git-Aliases (git plugin)

Hier nur einige meiner Favoriten:

  • gst: git status
  • ga: git add
  • gaa: git add --all
  • gcmsg "message": git commit -m "message"
  • gp: git push
  • gl: git pull
  • gco: git checkout
  • gcb: git checkout -b (neuer Branch)
  • gd: git diff
  • glog: Ein schöner Git-Log mit Graph

Alle Git-Aliases findest du mit:

alias | grep git

Docker-Aliases (docker & docker-compose plugins)

Wenn du viel mit Docker arbeitest, sparst du hier richtig viel Zeit:

  • dcdn: docker-compose down – Stoppt und entfernt Container
  • dcup: docker-compose up – Startet Container
  • dcupd: docker-compose up -d – Startet Container im Detached-Modus
  • dce: docker-compose exec – Führt Befehl in laufendem Container aus
  • dcl: docker-compose logs – Zeigt Logs an
  • dcr: docker-compose run – Führt einen One-Off-Container aus
  • dps: docker ps – Listet laufende Container auf
  • dpsa: docker ps -a – Listet alle Container auf
  • dils: docker image ls – Listet alle Images auf

Alle Docker-Aliases anzeigen:

alias | grep docker

sudo-Plugin

Das sudo-Plugin ist ein absoluter Lebensretter:

  • ESC ESC: Setzt sudo vor deinen letzten Befehl

Beispiel: Du tippst apt update, bekommst einen Permission-Error. Einfach zweimal ESC drücken, und der Befehl wird zu sudo apt update. Mega praktisch!

Package-Manager-Aliases

Je nachdem, welche Distribution du nutzt, gibt es super praktische Shortcuts:

Ubuntu/Debian (ubuntu plugin):

  • aup: sudo apt update – Paketlisten aktualisieren
  • aupg: sudo apt upgrade – Pakete upgraden
  • ain: sudo apt install – Paket installieren
  • arem: sudo apt remove – Paket entfernen
  • aar: sudo apt autoremove – Nicht mehr benötigte Pakete entfernen

Fedora/RHEL/CentOS (dnf plugin):

  • dnfu: sudo dnf update – System aktualisieren
  • dnfi: sudo dnf install – Paket installieren
  • dnfr: sudo dnf remove – Paket entfernen
  • dnfs: dnf search – Nach Paketen suchen

OpenSUSE (suse plugin):

  • zdup: sudo zypper dup – Distribution Upgrade
  • zin: sudo zypper install – Paket installieren
  • zrm: sudo zypper remove – Paket entfernen
  • zup: sudo zypper update – Pakete aktualisieren
  • zse: zypper search – Nach Paketen suchen

Wichtig: Aktiviere nur das Plugin, das zu deiner Distribution passt. Wenn du Ubuntu nutzt, kommentiere dnf und suse aus (oder entferne sie).

Suche in der Historie

  • Ctrl+R: Rückwärtssuche in der Befehlshistorie
  • Tippe einfach ein paar Buchstaben und drücke mehrmals Ctrl+R, um durch die Treffer zu browsen

Tab-Completion

Drücke Tab, um Befehle, Pfade und Optionen zu vervollständigen. Drücke zweimal Tab, um alle Möglichkeiten anzuzeigen.


Oh My Zsh updaten:

omz update

updatezsh

Community-Plugins updaten:

cd ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions
git pull

Fazit

Mit Zsh und Oh My Zsh wird dein Terminal von einem langweiligen Schwarzweiß-Interface zu einem mächtigen Entwickler-Tool. Die Kombination aus coolen Themes und intelligenten Plugins spart dir nicht nur Zeit, sondern macht die Arbeit im Terminal auch einfach angenehmer.

Quellen:

https://github.com/ohmyzsh/ohmyzsh