Yazi is a terminal file manager written in Rust, designed to provide a fast, efficient, and customizable file management experience. Built on async I/O, Yazi ensures smooth performance even when handling resource-intensive tasks.
Key Features:
Full Asynchronous Support: All I/O operations are asynchronous, allowing Yazi to remain responsive while performing tasks like file transfers or searches.
Built-in Image Protocol Support: Integrates with popular terminal image viewers like Γberzug++ and Chafa for enhanced visual previews.
Code Highlighting and Preloading: Accelerates loading times for code files and images, improving the overall user experience.
Plugin System: Extensible via Lua-based plugins, allowing users to customize UI components and add functionality.
Multi-Platform Compatibility: Works seamlessly across macOS, Linux, and Windows.
Audience & Benefit:
Ideal for developers, power users, and anyone seeking a fast and customizable terminal file manager. Yazi offers a significant boost in productivity with its efficient async architecture, extensive customization options, and seamless integration with tools like ripgrep, fd, and fzf. Its Vim-like input system and support for multiple themes cater to diverse preferences, making it a versatile choice for daily use.
Yazi can be installed via winget on Windows or through package managers on Linux distributions.
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