Yazi is a terminal-based file manager written in Rust that lets you browse, preview, and manage files. It uses asynchronous I/O for better performance and works well with tools like ripgrep and fzf for a fast, keyboard-driven workflow.
For example, imagine opening a folder with 20,000 log files. In Nautilus, you might wait several seconds while the folder loads. Ranger can also take time because it processes directory entries one by one. Yazi works differently.
It loads files in parallel, displays the interface almost immediately, and continues indexing in the background. It can also show actual image previews instead of just generic file icons.
What Yazi Is and Why It Behaves Differently
Yazi is a terminal-based file manager built for speed. It’s written in Rust and uses asynchronous (non-blocking) I/O, which means it can perform multiple tasks at the same time instead of waiting for one task to finish before starting the next.
In practice, this makes Yazi feel much more responsive. For example, you can start browsing a large directory immediately while Yazi continues loading file information and generating thumbnails in the background. The interface stays smooth instead of freezing until everything is loaded.
This guide is tested on Ubuntu 26.04 and Rocky Linux 10, but the same commands work on most modern Linux distributions with a recent terminal emulator.
Yazi includes two command-line programs:
yazi– Starts the file manager.ya– Installs and manages Yazi plugins, themes, and flavors.
You’ll use the ya command later in this guide when you customize Yazi with additional plugins and themes.
Installing Yazi on Linux
Yazi isn’t included in the default Ubuntu, Debian, RHEL, or Rocky Linux repositories, so you’ll need to install it either from the official binary release or by building it with Cargo.
Install Yazi on Ubuntu/Debian
curl -LO https://github.com/sxyazi/yazi/releases/latest/download/yazi-x86_64-unknown-linux-gnu.zip
unzip yazi-x86_64-unknown-linux-gnu.zip
sudo mv yazi-x86_64-unknown-linux-gnu/yazi \
yazi-x86_64-unknown-linux-gnu/ya \
/usr/local/bin/
Here’s what each command does:
curl -LOdownloads the latest Yazi release from GitHub.unzipextracts the downloaded archive.sudo mvcopies the yazi and ya binaries to /usr/local/bin, which is part of your system’s executable search path.
Note: The sudo command is required because /usr/local/bin is owned by the root user. Without it, you’ll get a Permission denied error.
Install Yazi on RHEL/Rocky Linux
sudo dnf install cargo cargo install --locked yazi-fm yazi-cli
Here’s what these commands do:
sudo dnf install cargoinstalls Cargo, Rust’s package manager.cargo install --locked yazi-fm yazi-clidownloads, builds, and installs both the Yazi file manager and the ya command.- The
--lockedoption uses the dependency versions defined by the Yazi developers to ensure a reliable build.
Verify the Installation
After installation, check that Yazi is available by running:
yazi --version
If the installation was successful, you’ll see the installed version number. If you get a command not found error, make sure the installation completed successfully and that /usr/local/bin is included in your PATH.
Tip: If you’re following this guide on a fresh VPS instead of your local machine, DigitalOcean offers cloud VPS plans starting at $4/month. TecMint Pro members also receive $200 in free credits to try their first server. (We may earn a commission at no additional cost to you.)
First Look: Launching and Navigating
Start Yazi by running:
yazi
By default, Yazi opens in your current directory and displays three panes:
- Left pane – Parent directory.
- Middle pane – Current directory.
- Right pane – Live preview of the selected file.
The live preview pane is one of Yazi’s biggest advantages. As you move through files, the preview updates automatically without opening another application.
Basic Navigation
Yazi uses Vim-style keyboard shortcuts for navigation.
| Key | Action |
|---|---|
j |
Move down |
k |
Move up |
l |
Open a file or enter a directory |
h |
Go back to the parent directory |
/ |
Search for filenames in the current directory |
S |
Search file contents using ripgrep |
For example, use j and k to move through the file list. Press l to enter a directory or open a file, and press h to return to the previous directory.
Note: If the navigation keys stop working after opening a file, press q to close the current view and return to the file manager.
Preview Images, PDFs, and Videos
One of Yazi’s most useful features is its built-in preview pane. Simply move the cursor over a supported file, and Yazi displays a preview without launching another program.
It supports previews for many common file types, including:
- Images (
.png,.jpg,.jpeg,.gif,.webp) - PDF documents
- Videos
- Text files
- Archives
Note: Image previews depend on your terminal emulator. Terminals such as Kitty, WezTerm, and Ghostty support Yazi’s inline image previews. If you’re using a VTE-based terminal like GNOME Terminal or Tilix, image previews won’t be displayed because these terminals don’t support the required graphics protocols. In that case, Yazi will continue to work normally, but the image preview pane will remain blank.
Selecting, Renaming, and Bulk Operations
Yazi makes it easy to work with multiple files using only the keyboard. Press the Space key to select the current file without moving the cursor. Continue moving through the directory and press Space on other files to add them to the selection.
Once you’ve selected the files you want, you can copy and paste them using familiar shortcuts:
| Key | Action |
|---|---|
Space |
Select or deselect the current file |
y |
Copy the selected files |
p |
Paste the copied files into the current directory |
Bulk Rename Files
One of Yazi’s most useful features is batch renaming. After selecting multiple files, press r. Yazi opens the selected filenames in your default text editor ($EDITOR) as a simple list.
For example:
IMG_2024_01.jpg IMG_2024_02.jpg IMG_2024_03.jpg
Edit the filenames however you like:
holiday-01.jpg holiday-02.jpg holiday-03.jpg
Save the file and close the editor. Yazi compares the original list with the edited one and renames only the files whose names changed.
Since nothing is renamed until you save and exit the editor, you can safely cancel the operation without affecting your files.
Tip: If you frequently perform repetitive file operations, the Bash Scripting course shows you how to automate them with simple shell scripts.
Searching Files and File Contents
Yazi includes two different search methods:
/searches for filenames in the current directory.Ssearches inside file contents usingripgrep.
To search within files, press S and start typing your search term.
For example:
S nginx: upstream timed out
Yazi uses ripgrep to search through your files and updates the results as you type. Matching files appear immediately in the current pane.
When you press Enter on a search result, Yazi opens the file in your default editor near the matching text, making it quick to locate and edit the information you need.
Extending Yazi with Plugins
Yazi includes a built-in package manager called ya, which lets you install plugins to add new features or customize the file manager. Plugins can display Git status, improve previews, change the interface, and much more.
For example, you can install the official Git status plugin and the Full Border plugin with:
ya pkg add yazi-rs/plugins:git ya pkg add yazi-rs/plugins:full-border
Here’s what these commands do:
ya pkg adddownloads and installs a plugin from a GitHub repository.yazi-rs/plugins:gitinstalls the official Git plugin, which displays the Git status of files, such as modified and untracked files.yazi-rs/plugins:full-borderinstalls the Full Border plugin, which adds borders around each pane for a different visual style.
You can view all installed plugins by running:
ya pkg list
Example output:
Plugins: yazi-rs/plugins:git (bb758e2) yazi-rs/plugins:full-border (bb758e2) Flavors:
To update all installed plugins to their latest versions, use:
ya pkg upgrade
After installing a plugin, it is recorded in:
~/.config/yazi/package.toml
Most plugins also require a small configuration change in:
~/.config/yazi/init.lua
The required configuration varies from one plugin to another, so check the plugin’s documentation for the exact setup instructions.
Note: The ya pkg command is available in recent Yazi releases (including Yazi 26.x). If you’re following an older tutorial that uses ya pack, those commands are deprecated and no longer work in current versions.
Conclusion
Yazi is a fast and modern terminal file manager that makes working with files more efficient. Its asynchronous design keeps the interface responsive, even when browsing large directories, while built-in previews, keyboard-driven navigation, and powerful search tools help you manage files without leaving the terminal.
In this guide, you learned how to install Yazi, navigate directories, preview files, search with ripgrep, perform bulk file operations, and extend its functionality with plugins.
If you’re new to terminal-based file managers, start by using Yazi in a directory you work with regularly. Try features like file previews, multi-file selection, and bulk renaming to see how they can simplify your workflow.
Have you tried Yazi or another terminal file manager? Share your experience, favorite plugins, or workflow tips in the comments below.
If this article helped, with someone on your team.

