Zum Inhalt springen

Yazi

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

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
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
# 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
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
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
BefehlBeschreibung
oDatei mit Standardprogramm öffnen
ODatei interaktiv öffnen (Programm wählen)
EnterDatei öffnen oder Verzeichnis betreten
qYazi beenden
QBeenden ohne cwd-file zu schreiben
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
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
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
BefehlBeschreibung
SpaceAuswahl der aktuellen Datei umschalten
VVisuellen (Mehrfachauswahl-) Modus aktivieren
Ctrl + aAlle Dateien auswählen
Ctrl + rAuswahl umkehren
EscapeAuswahl aufheben
BefehlBeschreibung
mAktuelles Verzeichnis als Lesezeichen speichern
'Zu einem Lesezeichen springen
"Ein Lesezeichen löschen
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
BefehlBeschreibung
/Dateien im aktuellen Verzeichnis suchen
?Dateien rückwärts suchen
nZum nächsten Suchergebnis springen
NZum vorherigen Suchergebnis springen
BefehlBeschreibung
fDateien filtern (nur übereinstimmende anzeigen)
sDateien mit fd suchen (rekursiv)
SDateiinhalte mit ripgrep durchsuchen
: dann Befehl eingebenBefehlsmodus öffnen
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
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
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
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
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)
DateiZweck
~/.config/yazi/yazi.tomlHauptkonfiguration
~/.config/yazi/keymap.tomlBenutzerdefinierte Tastenbelegungen
~/.config/yazi/theme.tomlFarbthema
~/.config/yazi/init.luaLua-Init-Skript (Plugins)
# ~/.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
# ~/.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"
# ~/.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
]
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
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
# ~/.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()
  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.