What Yazi Does
- Async I/O — non-blocking UI during heavy operations
- Image previews — in terminal via Kitty, iTerm2, Sixel protocols
- Video previews — thumbnails via ffmpeg
- PDF previews — via poppler
- Archive browsing — tar, zip, 7z
- Plugin system — Lua-based
- Fuzzy find — integrated with fzf
- Zoxide integration — smart cd
- Multi-tabs — browse multiple dirs simultaneously
- Batch rename — edit names in your $EDITOR
Architecture
Async Rust runtime (tokio) with a Ratatui-like renderer. Plugin system uses mlua for Lua 5.4. Previews delegated to external tools (ffmpeg, poppler, exiftool) via the preview adapter system.
Self-Hosting
CLI tool.
Key Features
- Async non-blocking operations
- In-terminal image and video preview
- Lua plugin system
- Batch rename via $EDITOR
- Multi-tab browsing
- Integrated with fzf, zoxide, rg
- Mouse support
- Customizable keymaps
- Beautiful default theme
Comparison
| File Manager | Language | Async | Image Preview | Plugins |
|---|---|---|---|---|
| Yazi | Rust | Yes | Native | Lua |
| nnn | C | No | Via script | Shell |
| ranger | Python | No | Via script | Python |
| lf | Go | No | Via script | Shell |
| xplr | Rust | Partial | Via script | Lua |
| Midnight Commander | C | No | Limited | No |
常见问题 FAQ
Q: 图像预览不工作? A: 需要终端支持 Kitty、iTerm2、Sixel 或 Überzug 协议。Ghostty、Kitty、WezTerm、iTerm2 原生支持。
Q: 插件怎么装?
A: ya pack -a user/plugin-name,插件住在 ~/.config/yazi/plugins/。
Q: 性能? A: Rust + async,大目录(10 万文件)秒开。旧 Python/C 版文件管理器会卡住。
来源与致谢 Sources
- Docs: https://yazi-rs.github.io
- GitHub: https://github.com/sxyazi/yazi
- License: MIT