Skip to main content

Yazi File Manager

Yazi (means "duck" in Chinese) is a terminal file manager written in Rust. It features non-blocking async I/O with tokio, a powerful Lua plugin system, and rich terminal integrations including image preview, multi-tab support, and a built-in task manager.

Learning Focus

This documentation track covers everything from installation and basic usage to advanced configuration, plugin development, and community resources.

What Makes Yazi Different?

FeatureDescription
Async I/ONon-blocking file operations with tokio — Yazi stays responsive during heavy file operations
Lua Plugin SystemExtend functionality through Lua scripts with full access to the file system, UI, and IPC
Image PreviewNative support for kitty, iTerm2, WezTerm, sixel, and Überzug++ image protocols
Multi-TabFull tab support with rename, swap, and session management
Built-in Task ManagerTrack file operations, plugin tasks, and shell processes in real time
DDSData Distribution Service for inter-instance communication across multiple Yazi processes
Flavor SystemPre-made theme packages with auto dark/light mode switching

Prerequisites

Yazi requires the file command for file type detection. Optional dependencies unlock additional features:

  • ffmpeg — video thumbnails
  • 7-Zip — archive extraction and preview
  • jq — JSON preview
  • poppler — PDF preview
  • fd — file searching
  • ripgrep — file content searching
  • fzf — quick file subtree navigation (>= 0.53.0)
  • zoxide — historical directory navigation
  • Nerd Fonts — icon display

Track Sections

SectionDescription
InstallationInstall Yazi on Linux, macOS, Windows, Nix, and more
Quick StartLaunch Yazi, navigate files, use the shell wrapper
ConfigurationConfigure yazi.toml, keymap.toml, theme.toml, vfs.toml
KeybindingsFull keybinding reference across all 8 layers
PluginsLua plugin system, types, context, runtime, layout, utils
FlavorsTheme flavor system and customization
CLIThe ya command-line tool and DDS
Image PreviewTerminal image preview protocols and setup
TipsTips and tricks for daily use
FAQFrequently asked questions
ResourcesCommunity plugins, flavors, and tutorials
CheatsheetQuick reference for shortcuts and commands

Getting Help