|
| 1 | +<div align="center"> |
| 2 | + <sup>Special thanks to:</sup> |
| 3 | + <br><br> |
| 4 | + <a href="https://www.warp.dev/?utm_source=github&utm_medium=referral&utm_campaign=yazi" target="_blank"> |
| 5 | + <img alt="Warp sponsorship" width="300" src="https://github.com/user-attachments/assets/c7f141e7-9751-407d-bb0e-d6f2c487b34f"> |
| 6 | + <br> |
| 7 | + <b>Warp, the intelligent terminal</b> |
| 8 | + <br> |
| 9 | + <sup>Yazi's AI-powered terminal of choice!<br>Available for macOS, Linux and Windows</sup> |
| 10 | + </a> |
| 11 | +</div> |
| 12 | + |
| 13 | +<br> |
| 14 | + |
| 15 | +## Yazi - ⚡️ Blazing Fast Terminal File Manager |
| 16 | + |
| 17 | +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. |
| 18 | + |
| 19 | +💡 A new article explaining its internal workings: [Why is Yazi Fast?](https://yazi-rs.github.io/blog/why-is-yazi-fast) |
| 20 | + |
| 21 | +- 🚀 **Full Asynchronous Support**: All I/O operations are asynchronous, CPU tasks are spread across multiple threads, making the most of available resources. |
| 22 | +- 💪 **Powerful Async Task Scheduling and Management**: Provides real-time progress updates, task cancellation, and internal task priority assignment. |
| 23 | +- 🖼️ **Built-in Support for Multiple Image Protocols**: Also integrated with Überzug++ and Chafa, covering almost all terminals. |
| 24 | +- 🌟 **Built-in Code Highlighting and Image Decoding**: Combined with the pre-loading mechanism, greatly accelerates image and normal file loading. |
| 25 | +- 🔌 **Concurrent Plugin System**: UI plugins (rewriting most of the UI), functional plugins, custom previewer/preloader/spotter/fetcher; Just some pieces of Lua. |
| 26 | +- 📡 **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. |
| 27 | +- 📦 **Package Manager**: Install plugins and themes with one command, keeping them up-to-date, or pin them to a specific version. |
| 28 | +- 🧰 Integration with ripgrep, fd, fzf, zoxide |
| 29 | +- 💫 Vim-like input/pick/confirm/which/notify component, auto-completion for cd paths |
| 30 | +- 🏷️ Multi-Tab Support, Cross-directory selection, Scrollable Preview (for videos, PDFs, archives, code, directories, etc.) |
| 31 | +- 🔄 Bulk Renaming, Visual Mode, File Chooser, [Git Integration](https://github.com/yazi-rs/plugins/tree/main/git.yazi), [Mount Manager](https://github.com/yazi-rs/plugins/tree/main/mount.yazi) |
| 32 | +- 🎨 Theme System, Mouse Support, Trash Bin, Custom Layouts, CSI u, OSC 52 |
| 33 | +- ... and more! |
| 34 | + |
| 35 | +https://github.com/sxyazi/yazi/assets/17523360/92ff23fa-0cd5-4f04-b387-894c12265cc7 |
| 36 | + |
| 37 | +## Project status |
| 38 | + |
| 39 | +Public beta, can be used as a daily driver. |
| 40 | + |
| 41 | +Yazi is currently in heavy development, expect breaking changes. |
| 42 | + |
| 43 | +## Documentation |
| 44 | + |
| 45 | +- Usage: https://yazi-rs.github.io/docs/installation |
| 46 | +- Features: https://yazi-rs.github.io/features |
| 47 | + |
| 48 | +## Discussion |
| 49 | + |
| 50 | +- Discord Server (English mainly): https://discord.gg/qfADduSdJu |
| 51 | +- Telegram Group (Chinese mainly): https://t.me/yazi_rs |
| 52 | + |
| 53 | +## Image Preview |
| 54 | + |
| 55 | +| Platform | Protocol | Support | |
| 56 | +| ---------------------------------------------------------------------------- | -------------------------------------- | ----------------------------------------------------- | |
| 57 | +| [kitty](https://github.com/kovidgoyal/kitty) (>= 0.28.0) | [Kitty unicode placeholders][kgp] | ✅ Built-in | |
| 58 | +| [iTerm2](https://iterm2.com) | [Inline images protocol][iip] | ✅ Built-in | |
| 59 | +| [WezTerm](https://github.com/wez/wezterm) | [Inline images protocol][iip] | ✅ Built-in | |
| 60 | +| [Konsole](https://invent.kde.org/utilities/konsole) | [Kitty old protocol][kgp-old] | ✅ Built-in | |
| 61 | +| [foot](https://codeberg.org/dnkl/foot) | [Sixel graphics format][sixel] | ✅ Built-in | |
| 62 | +| [Ghostty](https://github.com/ghostty-org/ghostty) | [Kitty unicode placeholders][kgp] | ✅ Built-in | |
| 63 | +| [Windows Terminal](https://github.com/microsoft/terminal) (>= v1.22.10352.0) | [Sixel graphics format][sixel] | ✅ Built-in | |
| 64 | +| [st with Sixel patch](https://github.com/bakkeby/st-flexipatch) | [Sixel graphics format][sixel] | ✅ Built-in | |
| 65 | +| [Tabby](https://github.com/Eugeny/tabby) | [Inline images protocol][iip] | ✅ Built-in | |
| 66 | +| [VSCode](https://github.com/microsoft/vscode) | [Inline images protocol][iip] | ✅ Built-in | |
| 67 | +| [Rio](https://github.com/raphamorim/rio) | [Inline images protocol][iip] | ❌ Rio doesn't correctly clear images [#709][rio-bug] | |
| 68 | +| [Black Box](https://gitlab.gnome.org/raggesilver/blackbox) | [Sixel graphics format][sixel] | ✅ Built-in | |
| 69 | +| [Hyper](https://github.com/vercel/hyper) | [Inline images protocol][iip] | ✅ Built-in | |
| 70 | +| [Bobcat](https://github.com/ismail-yilmaz/Bobcat) | [Inline images protocol][iip] | ✅ Built-in | |
| 71 | +| X11 / Wayland | Window system protocol | ☑️ [Überzug++][ueberzug] required | |
| 72 | +| Fallback | [ASCII art (Unicode block)][ascii-art] | ☑️ [Chafa][chafa] required | |
| 73 | + |
| 74 | +See https://yazi-rs.github.io/docs/image-preview for details. |
| 75 | + |
| 76 | +<!-- Protocols --> |
| 77 | + |
| 78 | +[kgp]: https://sw.kovidgoyal.net/kitty/graphics-protocol/#unicode-placeholders |
| 79 | +[kgp-old]: https://github.com/sxyazi/yazi/blob/main/yazi-adapter/src/drivers/kgp_old.rs |
| 80 | +[iip]: https://iterm2.com/documentation-images.html |
| 81 | +[sixel]: https://www.vt100.net/docs/vt3xx-gp/chapter14.html |
| 82 | +[ascii-art]: https://en.wikipedia.org/wiki/ASCII_art |
| 83 | + |
| 84 | +<!-- Dependencies --> |
| 85 | + |
| 86 | +[ueberzug]: https://github.com/jstkdng/ueberzugpp |
| 87 | +[chafa]: https://hpjansson.org/chafa/ |
| 88 | + |
| 89 | +<!-- Rio bug --> |
| 90 | + |
| 91 | +[rio-bug]: https://github.com/raphamorim/rio/issues/709 |
| 92 | + |
| 93 | +## License |
| 94 | + |
| 95 | +Yazi is MIT-licensed. For more information check the [LICENSE](LICENSE) file. |
0 commit comments