Zum Inhalt springen

Yazi

Blitzschneller Terminal-Dateimanager geschrieben in Rust mit asynchroner I/O, Bildvorschau, Plugin-System und Multi-Tab-Unterstützung.

Installation

Paketmanager

BefehlBeschreibung
brew install yazi ffmpegthumbnailer unar jq poppler fd ripgrep fzf zoxide imagemagickVollständige Installation auf macOS mit allen Vorschau-Abhängigkeiten
brew install yaziMinimale Installation auf macOS
cargo install --locked yazi-fm yazi-cliInstallation von crates.io
pacman -S yazi ffmpegthumbnailer unarchiver jq poppler fd ripgrep fzf zoxideVollständige Installation auf Arch Linux
scoop install yaziInstallation auf Windows mit Scoop
winget install sxyazi.yaziInstallation auf Windows mit winget
nix-env -i yaziInstallation auf NixOS
snap install yazi --classicInstallation auf Ubuntu via Snap

Starten & Version

BefehlBeschreibung
yaziYazi im aktuellen Verzeichnis starten
yazi /path/to/dirYazi in bestimmtem Verzeichnis öffnen
yazi --versionInstallierte Version anzeigen
ya --versionCLI-Helfer-Version anzeigen
yazi --cwd-file=/tmp/cwdLetztes Verzeichnis beim Beenden speichern

Shell-Wrapper (cd beim Beenden)

# Bash/Zsh — zu ~/.bashrc oder ~/.zshrc hinzufügen
function y() {
  local tmp="$(mktemp -t "yazi-cwd.XXXXXX")" cwd
  yazi "$@" --cwd-file="$tmp"
  if cwd="$(command cat -- "$tmp")" && [ -n "$cwd" ] && [ "$cwd" != "$PWD" ]; then
    builtin cd -- "$cwd"
  done
  rm -f -- "$tmp"
}
# Fish — zu ~/.config/fish/config.fish hinzufügen
function y
  set tmp (mktemp -t "yazi-cwd.XXXXXX")
  yazi $argv --cwd-file="$tmp"
  if set cwd (command cat -- "$tmp"); and [ -n "$cwd" ]; and [ "$cwd" != "$PWD" ]
    builtin cd -- "$cwd"
  end
  rm -f -- "$tmp"
end

Grundlegende Bewegung

BefehlBeschreibung
j oder Cursor nach unten bewegen
k oder Cursor nach oben bewegen
h oder Zum übergeordneten Verzeichnis wechseln
l oder oder EnterVerzeichnis betreten oder Datei öffnen
g gZum ersten Element springen
GZum letzten Element springen
~Zum Home-Verzeichnis wechseln
BackspaceZum übergeordneten Verzeichnis wechseln
Ctrl + uHalbe Seite nach oben scrollen
Ctrl + dHalbe Seite nach unten scrollen
Ctrl + bGanze Seite nach oben scrollen
Ctrl + fGanze Seite nach unten scrollen

Springen & Verlauf

BefehlBeschreibung
zMit zoxide zum Verzeichnis springen
ZMit zoxide springen (interaktives fzf)
-Zum vorherigen Verzeichnis wechseln
Ctrl + oIm Navigationsverlauf zurück
Ctrl + iIm Navigationsverlauf vorwärts

Dateioperationen

Öffnen & Ausführen

BefehlBeschreibung
oDatei mit Standardprogramm öffnen
ODatei interaktiv öffnen (Programm wählen)
EnterDatei öffnen oder Verzeichnis betreten
qYazi beenden
QBeenden ohne cwd-file zu schreiben

Kopieren, Ausschneiden, Einfügen

BefehlBeschreibung
yAusgewählte Dateien kopieren (yank)
xAusgewählte Dateien ausschneiden
pKopierte/ausgeschnittene Dateien einfügen
PMit Überschreiben einfügen
Y oder XKopieren/Ausschneiden abbrechen
- dann pAls Symlink einfügen (absolut)
_ dann pAls Symlink einfügen (relativ)
Ctrl + pAls Hardlink einfügen

Erstellen, Löschen, Umbenennen

BefehlBeschreibung
aNeue Datei oder Verzeichnis erstellen (abschließender / = Verzeichnis)
rAusgewählte Datei umbenennen
cUmbenennen mit Cursor am Ende
dAusgewählte Dateien in den Papierkorb verschieben
DAusgewählte Dateien dauerhaft löschen
.Sichtbarkeit versteckter Dateien umschalten

Dateioperations-Beispiele

Dateien und Verzeichnisse erstellen:
  a myfile.txt      → Erstellt eine neue Datei
  a mydir/          → Erstellt ein neues Verzeichnis (abschließender Schrägstrich)
  a path/to/file    → Erstellt verschachtelte Struktur

Massenumbenennung:
  Mehrere Dateien auswählen → r → Öffnet $EDITOR
  Jede Zeile = ein Dateiname, bearbeiten und speichern um alle umzubenennen

Auswahl & Lesezeichen

Auswahl

BefehlBeschreibung
SpaceAuswahl der aktuellen Datei umschalten
VVisuellen (Mehrfachauswahl-) Modus aktivieren
Ctrl + aAlle Dateien auswählen
Ctrl + rAuswahl umkehren
EscapeAuswahl aufheben

Lesezeichen

BefehlBeschreibung
mAktuelles Verzeichnis als Lesezeichen speichern
'Zu einem Lesezeichen springen
"Ein Lesezeichen löschen

Tabs

BefehlBeschreibung
tNeuen Tab im aktuellen Verzeichnis erstellen
Ctrl + cAktuellen Tab schließen
1 - 9Zum Tab nach Nummer wechseln
[Zum vorherigen Tab wechseln
]Zum nächsten Tab wechseln
{Tab mit vorherigem tauschen
}Tab mit nächstem tauschen

Suche & Filter

Suche

BefehlBeschreibung
/Dateien im aktuellen Verzeichnis suchen
?Dateien rückwärts suchen
nZum nächsten Suchergebnis springen
NZum vorherigen Suchergebnis springen

Filter & Finden

BefehlBeschreibung
fDateien filtern (nur übereinstimmende anzeigen)
sDateien mit fd suchen (rekursiv)
SDateiinhalte mit ripgrep durchsuchen
: dann Befehl eingebenBefehlsmodus öffnen

Suchbeispiele

Dateisuche mit fd (Taste 's'):
  Findet Dateien rekursiv nach Namensmuster
  Verwendet fd im Hintergrund für schnelle Suche
  Ergebnisse werden im Picker angezeigt — Enter zum Springen

Inhaltssuche mit ripgrep (Taste 'S'):
  Durchsucht Dateiinhalte rekursiv
  Verwendet ripgrep für schnelle Textsuche
  Ergebnisse zeigen Datei + übereinstimmende Zeile

Vorschausystem

Integrierte Vorschauen

BefehlBeschreibung
Vorschau-Panel zeigt DateiinhalteAutomatisch für unterstützte Typen
TabVorschau-Panel ein-/ausblenden
Ctrl + Shift + =Vorschau-Panel-Breite erhöhen
Ctrl + Shift + -Vorschau-Panel-Breite verringern

Unterstützte Vorschautypen

TypVoraussetzung
TextdateienIntegriert mit Syntaxhervorhebung
Bilder (PNG, JPG, GIF)Kitty-, iTerm2- oder Sixel-Protokoll
SVG-DateienImageMagick
PDF-DokumentePoppler (pdftoppm)
Video-Thumbnailsffmpegthumbnailer
Archive (zip, tar, etc.)unar oder 7z
MarkdownIntegriertes Rendering
JSON/YAMLIntegrierte Formatierung
VerzeichnisseIntegrierte Auflistung

Terminal-Protokoll-Unterstützung

Bildvorschau-Protokolle (automatisch erkannt):

Kitty    — Kitty Terminal (beste Qualität)
iTerm2   — iTerm2, WezTerm, Mintty
Sixel    — Viele Terminals (foot, mlterm, etc.)
X11/Wayland — Via ueberzugpp (Fallback)

Protokoll manuell in yazi.toml setzen:
  [preview]
  image_quality = 75

Sortierung & Layout

BefehlBeschreibung
,mNach Änderungsdatum sortieren
,MNach Änderungsdatum sortieren (umgekehrt)
,cNach Erstellungsdatum sortieren
,CNach Erstellungsdatum sortieren (umgekehrt)
,eNach Erweiterung sortieren
,ENach Erweiterung sortieren (umgekehrt)
,sNach Größe sortieren
,SNach Größe sortieren (umgekehrt)
,nNach Name sortieren (natürlich)
,NNach Name sortieren (umgekehrt)
,rZufällig sortieren
wAufgabenverwaltung umschalten
TLayout umschalten (1/2/3 Spalten)

Konfiguration

Speicherorte der Konfigurationsdateien

DateiZweck
~/.config/yazi/yazi.tomlHauptkonfiguration
~/.config/yazi/keymap.tomlBenutzerdefinierte Tastenbelegungen
~/.config/yazi/theme.tomlFarbthema
~/.config/yazi/init.luaLua-Init-Skript (Plugins)

Hauptkonfiguration (yazi.toml)

# ~/.config/yazi/yazi.toml

[manager]
ratio = [1, 4, 3]          # Spaltenverhältnisse (Eltern, Aktuell, Vorschau)
sort_by = "natural"         # natural, modified, created, extension, size
sort_sensitive = false       # Groß-/Kleinschreibung bei Sortierung
sort_reverse = false         # Sortierreihenfolge umkehren
sort_dir_first = true        # Verzeichnisse vor Dateien
linemode = "size"           # none, size, permissions, mtime
show_hidden = false          # Versteckte Dateien anzeigen
show_symlink = true          # Symlink-Ziele anzeigen

[preview]
tab_size = 2                # Tab-Breite in Vorschauen
max_width = 600             # Maximale Vorschaubreite
max_height = 900            # Maximale Vorschauhöhe
image_quality = 75          # JPEG-Qualität für Bildvorschauen
sixel_fraction = 15         # Sixel-Auflösungsfraktion

[opener]
edit = [
  { run = '${EDITOR:-vi} "$@"', block = true, for = "unix" },
  { run = 'code "%*"', orphan = true, for = "windows" },
]

[tasks]
micro_workers = 10          # Kleine Dateioperationen
macro_workers = 25          # Große Dateioperationen
bizarre_retry = 5           # Wiederholung bei Fehler

Benutzerdefinierte Tastenbelegungen (keymap.toml)

# ~/.config/yazi/keymap.toml

[[manager.prepend_keymap]]
on = ["g", "d"]
run = "cd ~/Downloads"
desc = "Zu Downloads wechseln"

[[manager.prepend_keymap]]
on = ["g", "p"]
run = "cd ~/projects"
desc = "Zu Projekten wechseln"

[[manager.prepend_keymap]]
on = ["g", "c"]
run = "cd ~/.config"
desc = "Zur Konfiguration wechseln"

# Terminal im aktuellen Verzeichnis öffnen
[[manager.prepend_keymap]]
on = ["!"]
run = 'shell "$SHELL" --block'
desc = "Terminal hier öffnen"

# Ausgewählte Dateien komprimieren
[[manager.prepend_keymap]]
on = ["C"]
run = 'shell "zip -r archive.zip $@" --block'
desc = "Auswahl komprimieren"

Themenkonfiguration (theme.toml)

# ~/.config/yazi/theme.toml

[filetype]
rules = [
  { name = "*/", fg = "#7aa2f7" },           # Verzeichnisse
  { mime = "text/*", fg = "#c0caf5" },        # Textdateien
  { mime = "image/*", fg = "#bb9af7" },       # Bilder
  { mime = "video/*", fg = "#e0af68" },       # Videos
  { mime = "audio/*", fg = "#9ece6a" },       # Audio
  { name = "*.rs", fg = "#ff9e64" },          # Rust-Dateien
  { name = "*.py", fg = "#7aa2f7" },          # Python-Dateien
  { name = "*.md", fg = "#73daca" },          # Markdown
]

Plugins

Plugin-Verwaltung

BefehlBeschreibung
ya pack -a owner/pluginPlugin installieren
ya pack -iAlle Plugins aus package.toml installieren
ya pack -uAlle installierten Plugins aktualisieren
ya pack -lInstallierte Plugins auflisten

Beliebte Plugins

PluginBeschreibung
yazi-rs/plugins:full-borderVollständiger Rahmen um Panels
yazi-rs/plugins:gitGit-Statusindikatoren
yazi-rs/plugins:chmodDateiberechtigungen ändern
yazi-rs/plugins:max-previewVorschau-Panel maximieren
yazi-rs/plugins:jump-to-charVim-artiges Springen zu Zeichen
DreamMaoMao/searchjump.yaziSuche und Sprung zu Dateien

Plugin-Setup-Beispiel

# ~/.config/yazi/package.toml
[plugin]
prepend_previewers = [
  { name = "*.md", run = "glow" },
]

# Installieren und aktivieren
# ya pack -a yazi-rs/plugins:full-border
# ya pack -a yazi-rs/plugins:git
# ya pack -i
-- ~/.config/yazi/init.lua
-- Installierte Plugins aktivieren
require("full-border"):setup()
require("git"):setup()

Best Practices

  1. Alle Vorschau-Abhängigkeiten installieren — ffmpegthumbnailer, poppler, unar, jq, fd, ripgrep und imagemagick für das vollständige Vorschauerlebnis installieren. Ohne sie zeigen viele Dateitypen nur Rohtext.

  2. Shell-Wrapper verwenden — Die y-Funktions-Wrapper einrichten, damit beim Beenden von Yazi ins letzte Verzeichnis gewechselt wird, was es zu einem echten Navigationstool statt nur einem Betrachter macht.

  3. Verzeichnis-Lesezeichen hinzufügen — Benutzerdefinierte Tastenbelegungen für häufige Verzeichnisse konfigurieren (g d für Downloads, g p für Projekte) in keymap.toml für sofortige Navigation.

  4. Zoxide-Integration aktivieren — Mit installiertem zoxide kann man in Yazi durch Drücken von z zu jedem zuvor besuchten Verzeichnis fuzzy-springen, ohne manuell zu navigieren.

  5. Tabs für Multi-Location-Arbeit verwendent drücken um neue Tabs zu öffnen, wenn über mehrere Verzeichnisse gearbeitet werden muss, dann 1-9 zum sofortigen Wechseln verwenden.

  6. Spaltenverhältnisse anpassenratio = [1, 4, 3] in yazi.toml anpassen, um Elternauflistung, aktuelles Verzeichnis und Vorschau-Panel für die eigene Bildschirmgröße auszubalancieren.

  7. Git-Plugin installieren — Das yazi-rs/plugins:git-Plugin zeigt Git-Statusindikatoren neben Dateien, was es einfach macht, geänderte, vorgemerkte und unverfolgte Dateien zu erkennen.

  8. Visuellen Modus für Massenoperationen verwendenV drücken um den visuellen Modus zu aktivieren, dann j/k zum Erweitern der Auswahl, dann y/x/d für Stapel-Kopieren/Ausschneiden/Löschen.

  9. Thema anpassentheme.toml mit Farben anpassen, die zum Terminal-Thema passen, für ein einheitliches Erscheinungsbild. Verschiedene Farben pro Dateityp für schnelle visuelle Identifikation setzen.

  10. Inhaltssuche verwendenS drücken um Dateiinhalte mit ripgrep zu durchsuchen — es ist wie grep -r mit einem eingebauten interaktiven Datei-Picker.