yazi
Manage files in a terminal file manager
TLDR
Launch Yazi from the current directory
Print debug information
Write the current working directory on exit to the file
Clear the cache directory
SYNOPSIS
yazi [OPTIONS] [PATH...]
PARAMETERS
-h, --help
Displays the help message and exits.
-V, --version
Prints Yazi's version information and exits.
-t TYPE, --type=TYPE
Selects a specific tab type for interaction (e.g., cd to change directory upon exit).
-c FILE, --config-file=FILE
Specifies an alternative path to the main configuration file.
-L FILE, --log-file=FILE
Defines a custom path for Yazi's log output.
-P FILE, --plugin-file=FILE
Specifies an alternative path to the plugin configuration file.
-s, --server
Starts Yazi in server-only mode, primarily for RPC communication.
-W, --wait
Waits for the Yazi server process to terminate before exiting.
[PATH...]
Specifies one or more initial directories for Yazi to open.
DESCRIPTION
Yazi is a modern, blazing-fast terminal user interface (TUI) file manager written in Rust, designed for efficiency and a highly responsive user experience. It draws inspiration from established TUI file managers like ranger and nnn but differentiates itself with a focus on asynchronous I/O operations, ensuring the user interface remains fluid and interactive even during computationally intensive tasks like large file transfers or extensive directory scanning.
Key features include rich file preview capabilities (supporting images, videos, text, and more via external integrations), an extensible plugin system written in Rust and Lua, deep customizability through TOML configuration files, and seamless fuzzy searching. Yazi aims to provide a powerful yet intuitive way to navigate, manage, and interact with your filesystem directly from the command line, catering to power users who prioritize speed and keyboard-driven workflows. Its modern design and active development make it a compelling choice for terminal enthusiasts.
CAVEATS
Yazi requires a modern terminal emulator for the best experience, especially for proper display of icons and colors, often leveraging Nerd Fonts.
While highly performant, certain resource-intensive operations, especially those relying on external previewers, might still have momentary delays.
As a relatively new project, its feature set and API might evolve, requiring occasional updates to custom configurations or plugins.
ASYNCHRONOUS OPERATIONS
Yazi's core design leverages asynchronous I/O, ensuring that file operations (like copying large files or scanning directories) do not freeze the user interface, providing a consistently smooth experience.
EXTENSIBLE PLUGIN SYSTEM
Beyond its core functionality, Yazi supports a powerful plugin system, allowing users to extend its capabilities with custom scripts written in Rust or Lua, enabling deep integration with other tools.
RICH FILE PREVIEWS
Yazi offers extensive built-in file preview support for various formats, including images, videos, PDFs, and text, often utilizing external utilities (e.g., ueberzug, chafa, exiftool) for rich visual and textual previews directly within the terminal.
CONFIGURATION
The behavior and appearance of Yazi are highly customizable through intuitive TOML-based configuration files, allowing users to tailor keybindings, colors, layouts, and external command integrations to their exact preferences.
HISTORY
Yazi was created by Sxyu and introduced to the open-source community, quickly gaining traction for its innovative use of Rust to achieve unparalleled performance in a terminal file manager. Its development emphasizes a modern, asynchronous architecture, setting it apart from traditional tools. Since its initial release, Yazi has undergone continuous active development, with frequent updates introducing new features, optimizations, and community contributions, solidifying its position as a leading choice for terminal-based file management.