Overview of Yazi Terminal File Manager
mainYazi (means "duck") is a blazing fast terminal file manager written in Rust, built on non-blocking async I/O. It is designed for efficiency, customizability, and high performance through asynchronous task scheduling and multi-threaded CPU tasks.
Key Features
- Asynchronous Core: Full async support for I/O and task management (cancellation, priority, progress updates).
- Extensible Plugin System: Concurrent Lua-based plugins for UI, functional logic, previewers, preloaders, spotters, and fetchers.
- Virtual Filesystem (VFS): Supports remote file management, custom VFS providers, and custom search engines.
- Data Distribution Service (DDS): A client-server architecture with a Lua-based publish-subscribe model for cross-instance communication and state persistence.
- Rich UI & Integration: Vim-like input components, multi-tab support, scrollable previews (PDF, video, etc.), and integration with tools like
ripgrep,fd,fzf, andzoxide. - Package Manager: Built-in support to install, update, or pin plugins and themes.