ConfigsApr 11, 2026·3 min read

Yazi — Blazing Fast Terminal File Manager in Rust

Yazi is a blazing fast terminal file manager written in Rust, based on async I/O. Preview images and videos in terminal, fuzzy search, batch operations, plugin system, and seamless integration with tools like fzf, zoxide, and rg.

TL;DR
Yazi is a Rust-based terminal file manager with image previews, fuzzy search, and plugin extensibility.
§01

What it is

Yazi is a terminal file manager written in Rust, built on async I/O for speed. It supports image and video previews directly in the terminal, fuzzy search, batch rename operations, and a plugin system. It integrates with tools like fzf, zoxide, and ripgrep.

Developers and power users who navigate large project directories from the terminal will find Yazi faster and more feature-rich than traditional file managers like ranger or lf.

§02

How it saves time or tokens

Yazi's async architecture means file listings and previews load without blocking the UI. Tab support, bookmarks, and fuzzy search reduce the number of keystrokes needed to navigate complex directory trees. Batch rename with regex replaces shell one-liners.

§03

How to use

  1. Install Yazi via your package manager or cargo.
  2. Launch with yazi in your terminal.
  3. Navigate with vim-like keybindings (h/j/k/l).
  4. Customize via ~/.config/yazi/ configuration files.
# Install on macOS
brew install yazi

# Install via cargo
cargo install --locked yazi-fm yazi-cli

# Launch
yazi
§04

Example

Yazi supports shell integration for changing directories 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"
}
§05

Related on TokRepo

§06

Common pitfalls

  • Image preview requires a terminal emulator with graphics protocol support (Kitty, iTerm2, or Sixel-capable terminals).
  • The plugin system uses Lua. Check plugin compatibility with your Yazi version before installing.
  • Some keybindings conflict with tmux defaults. Adjust your tmux prefix or Yazi keymap accordingly.

Frequently Asked Questions

How does Yazi compare to ranger?+

Yazi is significantly faster than ranger due to its Rust implementation and async I/O. Ranger is written in Python and can feel slow in large directories. Yazi also offers native image previews without external dependencies in supported terminals.

Does Yazi support image previews?+

Yes. Yazi can preview images, videos, PDFs, and archives directly in the terminal. It supports Kitty graphics protocol, iTerm2 inline images, and Sixel for compatible terminal emulators.

Can I extend Yazi with plugins?+

Yes. Yazi has a Lua-based plugin system. Community plugins add features like git status indicators, archive extraction, and custom preview renderers.

What terminal emulators work with Yazi?+

Yazi works in any terminal for basic file management. For image previews, use Kitty, iTerm2, WezTerm, or any terminal supporting Sixel or the Kitty graphics protocol.

Does Yazi integrate with fzf and zoxide?+

Yes. Yazi integrates with fzf for fuzzy file finding, zoxide for smart directory jumping, and ripgrep for content search. These integrations are configurable in the Yazi keymap.

Citations (3)
  • Yazi GitHub— Yazi is a blazing fast terminal file manager written in Rust
  • Yazi Documentation— Supports async I/O, image preview, and plugin system
  • Yazi Tips— Integrates with fzf, zoxide, and ripgrep

Discussion

Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.

Related Assets