TL;DR — Quick Summary

Yazi is a fast terminal file manager in Rust with async I/O, image previews, Vi-like keybindings, and a plugin system. Complete setup and usage guide.

Yazi is what a file manager feels like when built from scratch in Rust with modern async I/O. Directories with thousands of files load instantly, image previews render in-terminal, and Vi-like keybindings make navigation effortless.

Installation

# macOS
brew install yazi

# Arch Linux
sudo pacman -S yazi

# Cargo
cargo install --locked yazi-fm yazi-cli

# Nix
nix-env -i yazi

# Verify
yazi --version

Shell Wrapper (cd-on-exit)

Add to ~/.bashrc or ~/.zshrc:

function y() {
    local tmp="$(mktemp -t "yazi-cwd.XXXXXX")" cwd
    yazi "$@" --cwd-file="$tmp"
    if cwd="$(command cat -- "$tmp")" && [ -n "$cwd" ] && [ "$cwd" != "$PWD" ]; then
        builtin cd -- "$cwd"
    fi
    rm -f -- "$tmp"
}

Now use y instead of yazi — when you quit, your shell changes to the directory you navigated to.

Keybindings

Key Action
h/l Parent / Enter directory
j/k Move down/up
J/K Move down/up half page
gg/G Go to top/bottom
Enter Open file
Space Select file
V Visual select mode
d Delete (trash)
D Permanently delete
y Yank (copy)
x Cut
p Paste
r Rename
a Create file
A Create directory
/ Search
z Jump (fzf integration)
t New tab
~ Go to home
. Toggle hidden files
q Quit

Configuration

Config directory: ~/.config/yazi/

yazi.toml

[manager]
show_hidden = false
sort_by = "natural"
sort_dir_first = true
linemode = "size"

[preview]
max_width = 1000
max_height = 1000
image_quality = 75

theme.toml

[manager]
cwd = { fg = "#94e2d5" }

[status]
separator_open = ""
separator_close = ""

Comparison

Feature Yazi ranger lf nnn
Language Rust Python Go C
Speed Fastest Slow Fast Fast
Image preview Native ueberzug ueberzug Plugins
Plugin system Lua Python Shell Plugins
Async I/O Yes No No No
Tabs Yes Yes No Contexts
Bulk rename Yes Yes Yes Yes
Vi bindings Yes Yes Yes Custom

Summary

  • Yazi is the fastest terminal file manager thanks to Rust and async I/O
  • Three-column Miller layout with real-time file previews including images
  • Vi-like keybindings for intuitive navigation
  • Plugin system (Lua) and themes for customization
  • Shell wrapper enables cd-on-exit for seamless terminal integration
  • Tabs, bulk rename, file search with fzf integration