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?
| Feature | Description |
|---|---|
| Async I/O | Non-blocking file operations with tokio — Yazi stays responsive during heavy file operations |
| Lua Plugin System | Extend functionality through Lua scripts with full access to the file system, UI, and IPC |
| Image Preview | Native support for kitty, iTerm2, WezTerm, sixel, and Überzug++ image protocols |
| Multi-Tab | Full tab support with rename, swap, and session management |
| Built-in Task Manager | Track file operations, plugin tasks, and shell processes in real time |
| DDS | Data Distribution Service for inter-instance communication across multiple Yazi processes |
| Flavor System | Pre-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
| Section | Description |
|---|---|
| Installation | Install Yazi on Linux, macOS, Windows, Nix, and more |
| Quick Start | Launch Yazi, navigate files, use the shell wrapper |
| Configuration | Configure yazi.toml, keymap.toml, theme.toml, vfs.toml |
| Keybindings | Full keybinding reference across all 8 layers |
| Plugins | Lua plugin system, types, context, runtime, layout, utils |
| Flavors | Theme flavor system and customization |
| CLI | The ya command-line tool and DDS |
| Image Preview | Terminal image preview protocols and setup |
| Tips | Tips and tricks for daily use |
| FAQ | Frequently asked questions |
| Resources | Community plugins, flavors, and tutorials |
| Cheatsheet | Quick reference for shortcuts and commands |
Getting Help
- Press
F1or~inside Yazi to open the help menu - Visit the official documentation
- Browse community resources for plugins and flavors