---
title: "Die besten Fish-Shell-Plugins für Fish 4 (Fisher, Oh My Fish)"
description: "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."
date: 2026-02-24
categories: ["linux"]
tags: ["fish-shell","terminal","command-line"]
---

Fish kann schon ohne Plugins eine Menge. [Autosuggestions](/fish-shell-autocomplete-suggestions/), [Syntax-Highlighting](/fish-shell-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](/install-fish-shell-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
fish --version
```

Du 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](/install-fish-shell-ubuntu/). Auf macOS gibt dir `brew install fish` eine aktuelle Version; mein [Fish-Shell-Setup-Guide für macOS](/fish-shell-macos-setup/) 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](https://github.com/jorgebucaran/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:

```fish
curl -sL https://raw.githubusercontent.com/jorgebucaran/fisher/main/functions/fisher.fish | source && fisher install jorgebucaran/fisher
```

Prüfen, ob es funktioniert:

```fish
fisher list
```

Du solltest `jorgebucaran/fisher` in der Ausgabe sehen. Grundlegende Nutzung:

```fish
fisher install author/plugin    # install a plugin
fisher update                   # update all plugins
fisher remove author/plugin     # remove a plugin
fisher list                     # list installed plugins
```

Fisher 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/plugin ausführen, um Plugins hinzuzufügen

- fisher list ausführen, um alles zu verifizieren

- ~/.config/fish/fish_plugins in dein Dotfiles-Repo committen

- Auf einer neuen Maschine fisher update ausführen, um dein Setup wiederherzustellen

### Oh My Fish

[Oh My Fish](https://github.com/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:

```fish
curl https://raw.githubusercontent.com/oh-my-fish/oh-my-fish/master/bin/install | fish
```

Wenn du vorsichtig sein willst, kannst du die Installer-Checksumme gegen `bin/install.sha256` im Repo prüfen.

Nutzung:

```fish
omf install plugin-name    # install a plugin
omf theme theme-name       # apply a theme
omf update                 # update everything
omf list                   # list installed packages
```

Die 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-install-themes-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](https://github.com/danhper/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](https://github.com/IlanCosman/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.

```fish
fisher install IlanCosman/tide@v6
tide configure
```

Der 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](https://www.nerdfonts.com/) 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](/fish-shell-starship-prompt/) an. Tide ist Fish-only, aber tiefer in Fishs Features integriert.

### Hydro

[Hydro](https://github.com/jorgebucaran/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.

```fish
fisher install jorgebucaran/hydro
```

Keine 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](/de/fish-shell-themes-prompts/) 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](https://github.com/PatrickF1/fzf.fish) bringt Fuzzy Search in deine Fish Shell über [fzf](https://github.com/junegunn/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:

```fish
# 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.fish
```

Auf 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 durchsuchen
- `Ctrl+Alt+L`: Git-Log durchsuchen
- `Ctrl+Alt+S`: Git-Status durchsuchen
- `Ctrl+Alt+P`: laufende Prozesse durchsuchen
- `Ctrl+V`: Shell-Variablen durchsuchen (in die Kommandozeile einfügen)

Um Bindings anzusehen oder anzupassen:

```fish
fzf_configure_bindings --help
```

Das 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](https://github.com/ajeetdsouza/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.

```fish
# Install
sudo apt install zoxide  # or: brew install zoxide

# Add to your Fish config
# In ~/.config/fish/config.fish:
zoxide init fish | source
```

v0.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](/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:

```fish
# 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 diff
```

Abkü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](/fish-shell-abbreviations-vs-aliases/).

Für komplexere Git-Helfer (eigene Funktionen, die mehrere Befehle wrappen) siehe meinen Guide zu [Fish-Shell-Funktionen und eigenen Befehlen](/fish-shell-functions-custom-commands/).

## Node- und Versionsverwaltung

### nvm.fish

[nvm.fish](https://github.com/jorgebucaran/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](/nvm-fish-shell/), der Setup und Nutzung behandelt.

```fish
fisher install jorgebucaran/nvm.fish
```

Nutzung:

```fish
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 version
```

Er liest außerdem `.nvmrc`- und `.node-version`-Dateien automatisch, wenn du ein Verzeichnis betrittst.

## Weitere nützliche Plugins

### done

[done](https://github.com/franciscolourenco/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).

```fish
fisher install franciscolourenco/done
```

Verifizieren: Führe `sleep 10` aus und prüfe, ob eine Benachrichtigung erscheint, wenn es fertig ist.

### puffer-fish

[puffer-fish](https://github.com/nickeb96/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).

```fish
fisher install nickeb96/puffer-fish
```

### autopair.fish

[autopair.fish](https://github.com/jorgebucaran/autopair.fish) schließt Klammern, Quotes und Parentheses automatisch während du tippst. Drücke `(` und es fügt `()` ein, mit dem Cursor dazwischen.

```fish
fisher install jorgebucaran/autopair.fish
```

Stabil, 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](https://github.com/laughedelic/pisces) ist eine Alternative, die sich lohnt.

### sponge

[sponge](https://github.com/meaningful-ooo/sponge) entfernt fehlgeschlagene Befehle automatisch aus deinem Fish-Verlauf. Wenn ein Befehl mit einem Fehler endet, verschmutzt er nicht deinen [Verlauf und deine Autosuggestions](/fish-shell-history-persistence/).

```fish
fisher install meaningful-ooo/sponge
```

Seit 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
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 wizard
```

## Mein empfohlenes Setup

Wenn ich Fish auf einer neuen Maschine einrichte, installiere ich Folgendes:

```fish
# 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 list
```

Plus 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 list ausführen, um alles zu verifizieren

- fish_plugins in 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](/fish-shell-vs-zsh/) und einen breiteren [Fish-vs.-Bash-vs.-Zsh](/de/fish-shell-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](/de/beste-oh-my-zsh-plugins/) zum Vergleich.

## Wo du weitere Plugins findest

Die kanonische kuratierte Liste ist [awsm.fish](https://github.com/jorgebucaran/awsm.fish), gepflegt vom Autor von Fisher. Sie deckt Plugins, Prompts und Tools ab, die man kennen sollte.

[Die awsm.fish-Plugin-Liste durchstöbern](https://github.com/jorgebucaran/awsm.fish)

Wenn du Zeit damit verbringst, Fish-Config-Dateien zu editieren, bringt [fish-lsp](https://github.com/ndonfris/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](https://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.