sxyazi/yazi
π₯ Blazing fast terminal file manager written in Rust, based on async I/O.
Backblaze Generative Media Hackathon
Build the next generation of AI media apps with Genblaze, stored on Backblaze B2. $10,000 in prizes.
Loading star history...
Use Cases & Benefits
- Provides a blazing fast terminal file manager using asynchronous I/O and Rust for efficient, user-friendly file management.
- Delivers high performance through full async support, multi-threaded CPU task distribution, and real-time task management.
- Use for managing files efficiently in terminal environments across Linux, macOS, and Windows with async concurrency.
- Use for integrating advanced image previews and code highlighting directly within terminal file browsing workflows.
- Use for extending file manager capabilities with Lua-based plugins, custom previews, and cross-instance state synchronization.
About yazi
Warp, the intelligent terminal
Yazi's AI-powered terminal of choice!
Available for macOS, Linux and Windows
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, Archive Extraction, Visual Mode, File Chooser, Git Integration, Mount Manager
- π¨ Theme System, Mouse Support, Trash Bin, Custom Layouts, Virtual Filesystem, CSI u, OSC 52
- ... and more!
https://github.com/sxyazi/yazi/assets/17523360/92ff23fa-0cd5-4f04-b387-894c12265cc7
Project status
Public beta, can be used as a daily driver.
Yazi is currently in heavy development, expect breaking changes.
Documentation
Discussion
- Discord Server (English mainly): https://discord.gg/qfADduSdJu
- Telegram Group (Chinese mainly): https://t.me/yazi_rs
Image Preview
| Platform | Protocol | Support |
|---|---|---|
| kitty (>= 0.28.0) | 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.10352.0) | Sixel graphics format | β Built-in |
| st with Sixel patch | Sixel graphics format | β Built-in |
| Warp (macOS/Linux only) | Inline images protocol | β Built-in |
| Tabby | Inline images protocol | β Built-in |
| VSCode | Inline images protocol | β Built-in |
| Rio | Inline images protocol | β Built-in |
| Black Box | Sixel graphics format | β Built-in |
| Hyper | Inline images protocol | β Built-in |
| Bobcat | 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.
Discover Repositories
Search across tracked repositories by name or description