Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/sxyazi/yazi/llms.txt

Use this file to discover all available pages before exploring further.

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.
Public Beta: Yazi can be used as a daily driver, but is currently in heavy development. Expect breaking changes.

Why Yazi?

Yazi is designed from the ground up to be fast and efficient. Built with Rust and powered by async I/O, it delivers exceptional performance even when working with thousands of files.

Get Started

Install Yazi on your platform and start managing files

Quick Tutorial

Learn the basics in under 2 minutes

Configuration

Customize Yazi to match your workflow

Plugin System

Extend functionality with Lua plugins

Key Features

Performance & Architecture

All I/O operations are asynchronous, CPU tasks are spread across multiple threads, making the most of available resources.
Provides real-time progress updates, task cancellation, and internal task priority assignment.
Combined with the pre-loading mechanism, greatly accelerates image and normal file loading.

Media & Preview

Image Protocols

Built-in support for Kitty, iTerm2, WezTerm, Sixel, and more image protocols

Universal Fallback

Integrated with Überzug++ (X11/Wayland) and Chafa (ASCII art) for maximum compatibility

Scrollable Previews

Preview videos, PDFs, archives, code, and directories with scrolling support

Syntax Highlighting

Built-in code highlighting with syntect for instant file previews

Extensibility

  • 🔌 Concurrent Plugin System: UI plugins (rewriting most of the UI), functional plugins, custom previewer/preloader/spotter/fetcher — just some pieces of Lua
  • ☁️ Virtual Filesystem: Remote file management, custom search engines
  • 📡 Data Distribution Service: Built on a client-server architecture (no additional server process required), integrated with a Lua-based publish-subscribe model
  • 📦 Package Manager: Install plugins and themes with one command, keep them up-to-date, or pin to specific versions

Workflow Enhancements

1

Vim-like Navigation

Familiar keybindings: j/k for movement, h/l for directory navigation, visual mode with v
2

Multi-Tab Support

Work with multiple directories simultaneously, switch between tabs instantly
3

Cross-Directory Selection

Select files across different directories and perform batch operations
4

Integrated Tools

Built-in integration with ripgrep, fd, fzf, and zoxide

Additional Features

  • 🔄 Bulk Renaming: Rename multiple files at once
  • 📦 Archive Support: Extract archives directly from the file manager
  • 🏷️ Git Integration: See git status inline with the git plugin
  • 💾 Mount Manager: Manage mounted filesystems with the mount plugin
  • 🗑️ Trash Bin Support: Safe file deletion with trash bin integration
  • 🎨 Theme System: Fully customizable colors and UI elements
  • 🖱️ Mouse Support: Click, scroll, and interact with your mouse
  • ⌨️ CSI u & OSC 52: Enhanced keyboard protocol and clipboard support

How Fast is Yazi?

Yazi’s architecture is specifically designed for speed. Read the detailed explanation:

Why is Yazi Fast?

Deep dive into Yazi’s async I/O architecture and performance optimizations

Next Steps

Ready to get started? Follow our installation guide to set up Yazi on your system.

Installation

Install Yazi via package manager or build from source

Quickstart Guide

Learn basic navigation and file operations
Join the Community

Build docs developers (and LLMs) love