Die besten Fish-Shell-Plugins für Fish 4 (Fisher, Oh My Fish)
Die besten Fish-Shell-Plugins für Fish 4: Fisher vs. Oh My Fish, Tide, fzf.fish, zoxide und mehr – mit Install-Befehlen, Keybindings und einem Setup zum Kopieren.
Aktualisiert Veröffentlicht 16 Min. Lesezeit

Fish kann schon ohne Plugins eine Menge. Autosuggestions, Syntax-Highlighting und Man-Page-Completions sind eingebaut. Das heißt: Die besten Fish-Shell-Plugins sind fokussierte Werkzeuge, keine Flicken für fehlende Features. Das Ökosystem ist kleiner als das von Zsh, aber jedes Plugin hier hat seinen Platz verdient.
Dieser Guide ist für Fish 4.x aktualisiert (die aktuelle Basislinie seit dem Rust-Rewrite vom Februar 2025). Ich behandle Plugin-Manager, Prompts, Such-Tools und ein Setup zum Kopieren, das du noch heute Abend laufen lassen kannst.
Wenn du neu bei Fish bist, starte zuerst mit meiner Installationsanleitung für Ubuntu.
Zuerst: Deine Fish-Version prüfen
Bevor du irgendetwas installierst, vergewissere dich, dass du auf Fish 4 bist. Mehrere Plugins unten setzen es inzwischen voraus.
fish --versionDu willst mindestens 4.0.0. fzf.fish v11 läuft auf nichts Älterem. Das aktuelle Stable ist 4.9.3 (September 2026), und Tide funktioniert am besten auf dem neuesten 4.x.
Wenn du auf Ubuntu sudo apt install fish ausgeführt hast, hast du vermutlich 3.7.x aus den Standard-Repos. Das ist zu alt. Nutze stattdessen das fish-shell-PPA. Die genauen Schritte behandle ich in meinem Guide zum Installieren der neuesten Fish Shell auf Ubuntu aus dem offiziellen PPA. Auf macOS gibt dir brew install fish eine aktuelle Version; mein Fish-Shell-Setup-Guide für macOS hat das vollständige Bild.
Fish 4 ist die Basislinie
Mehrere Plugins unten setzen Fish >= 4.0 voraus. Prüfe deine Version, bevor du irgendetwas installierst. Wenn du auf 3.x bist, upgrade zuerst – sonst erwarten dich kaputte Keybindings und Prompt-Glitches.
Plugin-Manager: Fisher vs. Oh My Fish
Du brauchst einen Plugin-Manager, bevor du irgendetwas installieren kannst. Es gibt drei Optionen, aber die Wahl ist einfach.
Fisher (empfohlen)
Fisher ist ein leichtgewichtiger Plugin-Manager, geschrieben in reinem Fish. Er installiert Plugins, indem er Funktionen und Completions direkt in dein Fish-Config-Verzeichnis kopiert. Kein Framework, kein Startup-Overhead. Das aktuelle Release ist 4.4.8 (Januar 2026) und es wird aktiv gepflegt.
Installieren:
curl -sL https://raw.githubusercontent.com/jorgebucaran/fisher/main/functions/fisher.fish | source && fisher install jorgebucaran/fisherPrüfen, ob es funktioniert:
fisher listDu solltest jorgebucaran/fisher in der Ausgabe sehen. Grundlegende Nutzung:
fisher install author/plugin # install a plugin
fisher update # update all plugins
fisher remove author/plugin # remove a plugin
fisher list # list installed pluginsFisher trackt installierte Plugins in ~/.config/fish/fish_plugins. Du kannst diese Datei versionieren und auf einer neuen Maschine fisher update ausführen, um dein Setup wiederherzustellen.
- Fisher mit dem Einzeiler oben installieren
fisher install author/pluginausführen, um Plugins hinzuzufügenfisher listausführen, um alles zu verifizieren~/.config/fish/fish_pluginsin dein Dotfiles-Repo committen- Auf einer neuen Maschine
fisher updateausführen, um dein Setup wiederherzustellen
Oh My Fish
Oh My Fish (OMF) ist ein Framework ähnlich wie Oh My Zsh. Es hat ein eigenes Paket-Repository mit Themes und Plugins und stellt ein Kommandozeilen-Tool (omf) zu deren Verwaltung bereit.
Installieren:
curl https://raw.githubusercontent.com/oh-my-fish/oh-my-fish/master/bin/install | fishWenn du vorsichtig sein willst, kannst du die Installer-Checksumme gegen bin/install.sha256 im Repo prüfen.
Nutzung:
omf install plugin-name # install a plugin
omf theme theme-name # apply a theme
omf update # update everything
omf list # list installed packagesDie ehrliche Einschätzung: OMF v8 erschien im April 2026 als Fish-4-Kompatibilitäts-Release. Es hat die Test-Matrix aktualisiert, den Installer verbessert und langjährige Install-Probleme behoben. Aber die README trägt immer noch die Unmaintained-Warnung (“maintainers have ran out of steam”), und manche Pakete bleiben kaputt. Der Kern läuft inzwischen auf Fish 4, aber das Ökosystem drumherum ist unzuverlässig. Ich würde heute kein neues Fish-Setup mit OMF starten. Fisher wird aktiv gepflegt, ist schneller und kann sogar OMF-kompatible Plugins installieren. Wenn du es trotzdem probieren willst, habe ich einen Guide zu Oh-My-Fish-Themes und -Plugins.
Oh My Fish Status
OMF v8 (April 2026) hat Fish-4-Kompatibilität gebracht, aber das Repo trägt weiterhin eine Unmaintained-Warnung und manche Pakete sind kaputt. Für neue Setups: nimm Fisher.
Eine dritte Option ist Fundle, ein leichtgewichtiger Plugin-Manager, der komplett in config.fish konfiguriert wird. Einen Blick wert, wenn du null externe Tools willst.
Prompt-Plugins
Fish-Prompts können Git-Status, Verzeichnis, Runtime-Versionen und Befehlsdauer anzeigen. Zwei solide Optionen folgen.
Tide
Tide ist der beliebteste Fish-native Prompt. Er rendert asynchron (dein Prompt laggt also nie), hat einen Konfigurations-Wizard und zeigt Git-Status, aktuelles Verzeichnis, Runtime-Versionen und Befehlsdauer. Das aktuelle Release ist v6.2.1.
fisher install IlanCosman/tide@v6
tide configureDer Wizard führt dich durch die Stil-Optionen: Powerline vs. schlicht, Icons vs. Text, einzeilig vs. zweizeilig. Das Ergebnis sieht poliert aus – ohne manuelle Konfiguration. Zum Verifizieren cd in ein Git-Repo und prüfen, ob der Branch im Prompt erscheint.
Tide braucht eine Nerd Font für Icons. Ich empfehle MesloLGS NF, die auch Tides Dokumentation vorschlägt. Font installieren, im Terminal-Emulator setzen, fertig.
Neuere Tide-Releases haben bun- und go-Workspace-Items hinzugefügt (nützlich, wenn du mit diesen Toolchains arbeitest). v6.2.1 hat außerdem einen Vi-Mode-Prompt-Bug auf Fish 4.3+ behoben. Das ist der Beweis, dass Tide Fish-Versionen eng trackt und synchron gehalten werden muss.
Halte Tide aktuell
Tide trackt Fish eng. Nach einem Fish-Upgrade führe fisher update aus und bei Prompt-Problemen erneut tide configure.
Wenn du einen Prompt willst, der über Fish, Zsh und Bash hinweg funktioniert, schau dir stattdessen Starship mit Fish Shell an. Tide ist Fish-only, aber tiefer in Fishs Features integriert.
Hydro
Hydro ist ein minimaler Prompt vom Autor von Fisher. Er zeigt Git-Branch, Befehlsdauer und Exit-Status mit nahezu null Overhead. Gut, wenn du etwas Sauberes und Schnelles statt Feature-reichem willst.
fisher install jorgebucaran/hydroKeine Konfiguration nötig. Die Defaults sind vernünftig und er bleibt aus dem Weg.
Für einen vollständigen Vergleich der Fish-Prompt-Optionen einschließlich Tide, Hydro, Starship und Pure schau dir meinen Fish-Shell-Themes-und-Prompts-Guide an.
Such- und Navigations-Plugins
Fuzzy Search und smarte Verzeichnis-Navigation sind die größten Quality-of-Life-Upgrades, die du Fish hinzufügen kannst.
fzf.fish
fzf.fish bringt Fuzzy Search in deine Fish Shell über fzf. Du bekommst interaktive Suche für Befehlsverlauf, Dateipfade, Git-Log, Git-Status, Prozesse und Shell-Variablen.
Abhängigkeiten beachten
fzf.fish v11 setzt Fish >= 4.0 und fzf >= 0.33 voraus. Das Ubuntu-apt-fzf-Paket ist viel zu alt. Installiere fzf über das Git-Install-Script oder ein aktuelles Release. Prüfe deine Versionen vor der Installation.
- Fish >= 4.0.0
- fzf >= 0.33.0 (aktuell: v0.74.x)
- fd >= 8.5.0 (für Search Directory)
- bat >= 0.16.0 (für Search-Directory-Vorschau)
- Fisher installiert
Erst die Abhängigkeiten installieren, dann das Plugin:
# Install fzf (get a recent build, not the ancient apt one)
# See https://github.com/junegunn/fzf#installation
# Install fd and bat (Ubuntu)
sudo apt install fd-find bat
# On Ubuntu, fd and bat install as fdfind and batcat, so symlink them:
# (make sure ~/.local/bin is on your PATH or the symlinks won't be found)
mkdir -p ~/.local/bin
ln -sf $(which fdfind) ~/.local/bin/fd
ln -sf $(which batcat) ~/.local/bin/bat
# Install the Fish plugin
fisher install PatrickF1/fzf.fishAuf macOS nutze brew install fzf fd bat. Die Binärnamen stimmen dort bereits.
Standard-Keybindings:
Ctrl+R: Befehlsverlauf durchsuchen (ersetzt Fishs eingebaute Suche durch eine bessere)Ctrl+Alt+F: Dateipfade durchsuchenCtrl+Alt+L: Git-Log durchsuchenCtrl+Alt+S: Git-Status durchsuchenCtrl+Alt+P: laufende Prozesse durchsuchenCtrl+V: Shell-Variablen durchsuchen (in die Kommandozeile einfügen)
Um Bindings anzusehen oder anzupassen:
fzf_configure_bindings --helpDas ist vermutlich das nützlichste einzelne Fish-Shell-Plugin. Wenn du sonst nichts installierst, installiere dieses.
Ein Hinweis: fzf.fish ist inkompatibel mit anderen fzf-Shell-Integrationen. Wenn du ein anderes fzf-Fish-Plugin installiert hast, entferne es zuerst – sonst kollidieren die Keybindings. Die fzf.fish-README verlinkt eine Wiki-Seite, die das Entfernen der zwei gängigen Alternativen behandelt.
zoxide
Zoxide ist kein Fish-Plugin, sondern ein eigenständiges Tool, das cd durch eine intelligentere Alternative ersetzt. Es lernt, welche Verzeichnisse du besuchst, und lässt dich mit Teilnamen dorthin springen. Tippe z proj statt cd ~/Documents/work/projects. Das aktuelle Release ist v0.10.0 (Juli 2026), und es funktioniert mit Fish, Zsh und Bash.
# Install
sudo apt install zoxide # or: brew install zoxide
# Add to your Fish config
# In ~/.config/fish/config.fish:
zoxide init fish | sourcev0.10 hat Space-Tab-Completions hinzugefügt, die den ausgewählten Befehl anzeigen und ausführen – das macht Verzeichnis-Sprünge noch schneller. Ich habe einen vollständigen Guide zu zoxide, der Setup und Nutzung behandelt.
Git-Plugins
Wenn du Tide oder Hydro nutzt, steht Git-Information schon in deinem Prompt. Wenn du aber eigenständige Git-Abkürzungen und -Helfer willst, ist der einfachste Weg, deine eigenen zu definieren:
# Add to ~/.config/fish/conf.d/git.fish
abbr -a gs git status
abbr -a ga git add
abbr -a gc git commit
abbr -a gp git push
abbr -a gl git log --oneline
abbr -a gco git checkout
abbr -a gb git branch
abbr -a gd git diffAbkürzungen expandieren, wenn du Leertaste oder Enter drückst – du siehst also den vollständigen Befehl in deinem Verlauf. Warum das wichtig ist, erkläre ich in Fish-Shell-Abkürzungen vs. Aliase.
Für komplexere Git-Helfer (eigene Funktionen, die mehrere Befehle wrappen) siehe meinen Guide zu Fish-Shell-Funktionen und eigenen Befehlen.
Node- und Versionsverwaltung
nvm.fish
nvm.fish ist ein Node.js-Versionsmanager, gebaut für Fish. Er ist leichter als das Bash-basierte nvm und startet schneller, weil er lazy lädt. Das aktuelle Release ist 2.2.17. Ich habe einen detaillierten NVM-mit-Fish-Shell-Guide, der Setup und Nutzung behandelt.
fisher install jorgebucaran/nvm.fishNutzung:
nvm install lts # install the latest LTS
nvm install 22 # install Node 22
nvm use 22 # switch to Node 22
nvm list # list installed versions
nvm current # show active versionEr liest außerdem .nvmrc- und .node-version-Dateien automatisch, wenn du ein Verzeichnis betrittst.
Weitere nützliche Plugins
done
done schickt eine Desktop- (und Mobile-)Benachrichtigung, wenn ein langlaufender Befehl fertig ist. Wenn du Ansible-Playbooks, Docker-Builds oder CI-Tasks laufen lässt, die Minuten dauern, ist das ein kleiner Quality-of-Life-Gewinn. Du kannst zu einem anderen Fenster wechseln und wirst angepingt, sobald es fertig ist. Aktiv gepflegt (v1.21.1, Dezember 2025).
fisher install franciscolourenco/doneVerifizieren: Führe sleep 10 aus und prüfe, ob eine Benachrichtigung erscheint, wenn es fertig ist.
puffer-fish
puffer-fish expandiert .. zu ../.. und ... zu ../../.. während du tippst. Drücke zweimal . und es fügt weiter Elternverzeichnis-Referenzen hinzu. Noch aktiv (letzter Push November 2025).
fisher install nickeb96/puffer-fishautopair.fish
autopair.fish schließt Klammern, Quotes und Parentheses automatisch während du tippst. Drücke ( und es fügt () ein, mit dem Cursor dazwischen.
fisher install jorgebucaran/autopair.fishStabil, aber seit 2022 unmaintained (letztes Release 1.0.4). Keine gemeldeten Brüche auf Fish 4, aber schau in den Issue-Tracker, wenn sich etwas komisch verhält. laughedelic/pisces ist eine Alternative, die sich lohnt.
sponge
sponge entfernt fehlgeschlagene Befehle automatisch aus deinem Fish-Verlauf. Wenn ein Befehl mit einem Fehler endet, verschmutzt er nicht deinen Verlauf und deine Autosuggestions.
fisher install meaningful-ooo/spongeSeit 2022 unmaintained (letztes Release 1.1.0). Manche Nutzer berichten, dass es auf neueren Fish-Versionen den Verlauf nicht filtert. Prüfe den Issue-Tracker, bevor du dich darauf verlässt.
Wenn Plugins nach einem Fish-Upgrade kaputt gehen
Der häufigste Fehlermodus bei Fish-Plugins ist Bruch nach einem Fish-Upgrade. Plugins tracken Fish eng, sodass Minor-Versions-Sprünge Prompt-Rendering-Glitches oder Keybinding-Fehler verursachen können. Die meisten Fälle lassen sich auf drei Fixes zurückführen.
Tide-Prompt sieht nach einem Fish-Update falsch aus
Führe fisher update aus und dann erneut tide configure. Tide ist eng an Fish-Versionen gekoppelt. v6.2.1 hat einen Vi-Mode-Bug behoben, der nur auf Fish 4.3+ auftrat. Wenn der Prompt nach dem Update immer noch falsch aussieht, prüfe Tides Issue-Tracker auf Fish-Versions-spezifische Berichte.
fzf.fish-Keybindings funktionieren nicht mehr
Prüfe zuerst fish --version. fzf.fish v11 braucht >= 4.0. Wenn du auf 3.x bist, ist das das Problem. Führe fzf_configure_bindings --help aus, um zu sehen, was registriert ist. Wenn du andere fzf-Shell-Integrationen installiert hast, entferne sie – fzf.fish ist mit ihnen inkompatibel.
sponge filtert meinen Verlauf nicht
sponge ist seit 2022 dormant. Prüfe den Issue-Tracker auf Fish-4-Kompatibilitätsberichte. Wenn es auf deiner Fish-Version nicht funktioniert, erwäge, es zu entfernen. Ein Fix kommt nicht.
Die allgemeine Fix-Sequenz nach jedem Fish-Upgrade:
fish --version # confirm you're on the expected version
fisher update # update all plugins
fisher list # verify everything is still installed
# If Tide is wrong:
tide configure # re-run the wizardMein empfohlenes Setup
Wenn ich Fish auf einer neuen Maschine einrichte, installiere ich Folgendes:
# Check version first
fish --version # need >= 4.0 (4.9.x recommended)
# Plugin manager
curl -sL https://raw.githubusercontent.com/jorgebucaran/fisher/main/functions/fisher.fish | source && fisher install jorgebucaran/fisher
# Prompt (pick one)
fisher install IlanCosman/tide@v6
# OR for cross-shell: install Starship separately
# Must-have plugins
fisher install PatrickF1/fzf.fish
fisher install franciscolourenco/done
fisher install jorgebucaran/autopair.fish
fisher install meaningful-ooo/sponge
fisher install nickeb96/puffer-fish
# Verify
fisher listPlus zoxide separat installiert. Das gibt mir eine schnelle, funktionale Shell mit Fuzzy Search, smarter Verzeichnis-Navigation, Fertig-Benachrichtigungen und einem guten Prompt. Das ganze Setup dauert etwa fünf Minuten.
- Fish-Version prüfen (
fish –version) - Fisher installieren
- Einen Prompt installieren (Tide oder Starship)
- fzf.fish + fzf/fd/bat-Abhängigkeiten installieren
- Übrige Plugins installieren (done, autopair, sponge, puffer-fish)
fisher listausführen, um alles zu verifizierenfish_pluginsin dein Dotfiles-Repo committen
Halte fish_plugins in deinem Dotfiles-Repo. Auf einer neuen Maschine: Fisher installieren, Dotfiles klonen und fisher update ausführen, um das komplette Setup wiederherzustellen.
Vergleich mit Zsh-Plugins
Falls du von Zsh kommst und dich fragst, was die Entsprechungen sind:
| Zsh-Plugin/Tool | Fish-Entsprechung |
|---|---|
| Oh My Zsh | Fisher (Plugin-Manager) |
| Powerlevel10k | Tide |
| zsh-autosuggestions | In Fish eingebaut |
| zsh-syntax-highlighting | In Fish eingebaut |
| zsh-completions | In Fish eingebaut (Man-Page-Parsing) |
| fzf (Zsh-Integration) | fzf.fish |
| zoxide (Zsh) | zoxide (dasselbe Tool, Fish-Init) |
| nvm | nvm.fish |
Ich habe einen detaillierten Fish-vs.-Zsh-Vergleich und einen breiteren Fish-vs.-Bash-vs.-Zsh-Artikel, falls du mehr Kontext zu den Unterschieden willst. Für Zsh-Nutzer habe ich außerdem eine Liste der besten Oh-My-Zsh-Plugins zum Vergleich.
Wo du weitere Plugins findest
Die kanonische kuratierte Liste ist awsm.fish, gepflegt vom Autor von Fisher. Sie deckt Plugins, Prompts und Tools ab, die man kennen sollte.
Die awsm.fish-Plugin-Liste durchstöbernWenn du Zeit damit verbringst, Fish-Config-Dateien zu editieren, bringt fish-lsp Completions, Hover, Goto-Definition, Rename, Diagnostics und Formatting in Neovim oder VS Code. Installiere es via npm install -g fish-lsp (oder fisher install ndonfris/fish-lsp). Es gibt einen Playground auf fish-lsp.dev.
Das Fish-Plugin-Ökosystem ist klein, aber hochwertig. Eine Handvoll gut gewählter Plugins deckt die meisten Bedürfnisse ab. Es gibt keinen Grund, alles zu installieren.
Hat diese Anleitung bei dir funktioniert?
Brauchst du Hilfe bei Astro, VPS oder einer Self-hosted-App? Services ansehen →


