Yazi - ⚡️ Blazing Fast Terminal File Manager
Yazi (means "duck") is a terminal file manager written in Rust, based on non-blocking async I/O. It aims to provide an efficient, user-friendly, and customizable file management experience.
A new article explaining its internal workings: Why is Yazi Fast?
- Full Asynchronous Support: All I/O operations are asynchronous, CPU tasks are spread across multiple threads, making the most of available resources.
- ? Powerful Async Task Scheduling and Management: Provides real-time progress updates, task cancellation, and internal task priority assignment.
- ?️ Built-in Support for Multiple Image Protocols: Also integrated with Überzug++ and Chafa, covering almost all terminals.
- ? Built-in Code Highlighting and Image Decoding: Combined with the pre-loading mechanism, greatly accelerates image and normal file loading.
- ? Concurrent Plugin System: UI plugins (rewriting most of the UI), functional plugins, custom previewer/preloader/spotter/fetcher; Just some pieces of Lua.
- ? Data Distribution Service: Built on a client-server architecture (no additional server process required), integrated with a Lua-based publish-subscribe model, achieving cross-instance communication and state persistence.
- ? Package Manager: Install plugins and themes with one command, keeping them up to date, or pin them to a specific version.
- ? Integration with ripgrep, fd, fzf, zoxide
- ? Vim-like input/pick/confirm/which/notify component, auto-completion for cd paths
- ?️ Multi-Tab Support, Cross-directory selection, Scrollable Preview (for videos, PDFs, archives, code, directories, etc.)
- Bulk Renaming, Visual Mode, File Chooser
- ? Theme System, Mouse Support, Trash Bin, Custom Layouts, CSI u, OSC 52
- ... and more!
example.mp4
️ Note: Yazi is currently in heavy development and may be unstable. The API is subject to change without prior notice.
Documentation
- Usage: https://yazi-rs.github.io/docs/installation
- Features: https://yazi-rs.github.io/features
Discussion
- Discord Server (English mainly): https://discord.gg/qfADduSdJu
- Telegram Group (Chinese mainly): https://t.me/yazi_rs
Image Preview
| Platform |
Protocol |
Support |
| kitty |
Kitty unicode placeholders |
✅ Built-in |
| iTerm2 |
Inline images protocol |
✅ Built-in |
| WezTerm |
Inline images protocol |
✅ Built-in |
| Konsole |
Kitty old protocol |
✅ Built-in |
| foot |
Sixel graphics format |
✅ Built-in |
| Ghostty |
Kitty unicode placeholders |
✅ Built-in |
| Windows Terminal (>= v1.22.2702.0) |
Sixel graphics format |
✅ Built-in |
| st with Sixel patch |
Sixel graphics format |
✅ Built-in |
| Tabby |
Inline images protocol |
✅ Built-in |
| VSCode |
Inline images protocol |
✅ Built-in |
| Rio |
Inline images protocol |
Rio doesn't correctly clear images (#1786) |
| Black Box |
Sixel graphics format |
✅ Built-in |
| Hyper |
Inline images protocol |
✅ Built-in |
| X11 / Wayland |
Window system protocol |
☑️ Überzug++ required |
| Fallback |
ASCII art (Unicode block) |
☑️ Chafa required |
See https://yazi-rs.github.io/docs/image-preview for details.
License
Yazi is MIT-licensed. For more information check the LICENSE file.