How to Install and Use Yazi in Linux for Fast Asynchronous Terminal File Management

Navigating large directory hierarchies and inspecting complex file systems directly from the Linux command line often feels sluggish with traditional terminal file managers. Legacy tools can freeze when loading directories containing thousands of files or when generating asset previews. Yazi solves this by reimagining terminal file management around modern asynchronous architecture.

Written in Rust and built upon the Tokio asynchronous runtime, Yazi delivers lightning-fast directory loading, non-blocking I/O operations, built-in multi-column Miller columns navigation, and native graphical image, video, and PDF previews rendered directly within terminal emulators.

Why Choose Yazi Over Traditional Terminal File Managers?

While utilities like Ranger, Midnight Commander, and vifm laid the foundation for CLI file navigation, Yazi introduces significant modern architectural improvements:

  • Full Asynchronous Architecture: All filesystem reading, directory sizing, and thumbnail rendering tasks occur on background worker threads. The user interface remains responsive at 60 FPS even when parsing tens of thousands of items.
  • Native Terminal Image Previews: Integrates directly with modern terminal graphics protocols—including Kitty Graphics, Sixel, and iTerm2—to render crisp image, vector, and video thumbnails without external window pop-ups.
  • Vim-Inspired Navigation: Provides intuitive modal keybindings (h/j/k/l) with visual mode multi-selection, incremental search, and tabs.
  • Integrated Search and Filter Engines: Integrates natively with fzf for fuzzy path jumping, ripgrep for contents searching, and fd for instant directory traversals.

How to Install Yazi Across Linux Distributions

Yazi can be installed via package managers or compiled directly via Cargo.

Arch Linux and Manjaro

Yazi is available directly in Arch Linux’s official repositories:

sudo pacman -S yazi

Ubuntu, Debian, and Linux Mint

On Debian and Ubuntu systems, you can install pre-compiled binaries via cargo, Homebrew, or GitHub releases:

# Installing via Cargo (Rust toolchain)
cargo install --locked yazi-fm yazi-cli

Alternatively, download the latest .deb package or pre-built binary tarball from the official GitHub releases page, extract it, and move the binary to /usr/local/bin/.

Fedora and RHEL Derivatives

Install via the community COPR repository or Cargo:

sudo dnf copr enable atim/yazi
sudo dnf install yazi

Installing Recommended Companion Utilities

To unlock Yazi’s full capabilities—such as rich file previews, media extraction, and instant search—install these companion dependencies:

# On Ubuntu/Debian:
sudo apt install ffmpegthumbnailer 7zip jq poppler-utils fd-find ripgrep fzf zoxide imagemagick

These external tools allow Yazi to extract PDF text, generate video frames, unpack compressed archives, and render image metadata instantly within the preview pane.

Launching and Navigating Yazi

To start the file manager, execute:

yazi

Or launch it directly inside a specific project path:

yazi ~/Documents/Projects

Yazi presents a sleek three-column Miller layout:

  • Left Column: Parent directory overview.
  • Middle Column: Active working directory contents.
  • Right Column: Real-time preview pane showing file text, image thumbnails, archive contents, or metadata.

Core Keybindings Reference

Keybinding Action Description
h / j / k / l Navigation Move left (parent), down, up, and right (enter folder or open file).
Space Toggle Selection Select or deselect items for bulk file operations.
v Visual Mode Enter visual selection mode to highlight contiguous blocks of files.
y / x / p Yank / Cut / Paste Standard file copy, move, and paste operations.
d Delete / Trash Send selected files to system trash or permanently remove them.
a / r Create / Rename Create a new file/folder or rename the currently highlighted item.
f Fuzzy Filter Launch real-time fzf filtering to jump to files within the folder.
s Search Content Launch ripgrep to find matching text inside files in real time.
t New Tab Open a new directory workspace tab at the top of the interface.
q Quit Exit Yazi and return to your terminal prompt.

Shell Integration: Changing Directory on Exit

By default, exiting a terminal file manager leaves your active shell in whichever directory you launched the tool from. To make your shell automatically follow Yazi’s current working directory upon quitting, add this wrapper function to your ~/.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"
}

After reloading your shell profile (source ~/.bashrc), running y launches Yazi, and pressing q instantly leaves your terminal inside whichever directory you navigated to.

Customising Yazi Configuration and Themes

Yazi stores its configuration files in ~/.config/yazi/:

  • yazi.toml: General behaviour, preview rules, and external opener configurations.
  • keymap.toml: Custom keybindings and action mappings.
  • theme.toml: UI colours, border styling, and file type icons.

Because configuration is modular, you can easily define custom file associations, bind custom external scripts, and customise syntax highlighting themes to match your terminal setup.

Get the best tech tips delivered straight to your inbox.

Join thousands of readers mastering Apple, Google, Microsoft, and Linux.