yazi
Yazi Cheatsheet: The Ultra-Fast CLI File Manager
Yazi is a Rust-powered terminal file manager designed for speed, reliability, and extensive customization. It handles thousands of files efficiently due to its async I/O engine and offers a keyboard-driven workflow that’s significantly faster than GUI alternatives.
| Category | Feature / Action | Key / Command | Description / Details | Source(s) |
|---|---|---|---|---|
| Overview | Description | yazi |
A Rust-powered terminal file manager, faster, sleeker, and endlessly customizable. Handles thousands of files without freezing due to an async I/O engine. Keyboard-driven workflow for speed. | |
| Performance | Faster than GUI file managers (e.g., Yazi: 5s vs Nautilus: 45s for 1,000 photos). Integrates seamlessly with tools like rip grep and Neovim. |
|||
| Installation | Supported OS | Linux, macOS, Windows | Yazi is compatible across major operating systems. | |
| Package Managers | pacman (Arch Linux), brew (macOS), scoop / winget (Windows) |
Easiest installation method for supported systems. | ||
| Official Binaries | Download from GitHub releases | Grab the pre-built binary for your OS, extract, and add it to your system’s PATH. | ||
| With Cargo | cargo install yazi |
If Rust is already installed on your system. | ||
| From Source | git clone <repo>, cd yazi, cargo build |
Build binaries yourself, found in target/release folder; add them to your PATH. |
||
| Basic Navigation | Launch Yazi | yazi |
Opens Yazi with a clean layout: files on the left, previews on the right. | |
| Move Down / Up | J / K (Vim keys) or Arrow keys |
Navigate through files and directories. | ||
| Go Back / Forward | H / L (Vim keys) |
Navigate directory history. | ||
| Open File | Enter |
Open the currently selected file. | ||
| Help Menu | ~ (Tilde) or F1 |
Access the help menu, which also shows all key bindings. | ||
| Open New Tab | T |
Create a new tab within Yazi. | ||
| Switch Tabs | Number keys or [ / ] |
Quickly switch between open tabs. | ||
| Select Files | Space |
Select individual files; selected items are marked. | ||
| Enter Visual Mode | V (then J / K to select) |
Select multiple files simultaneously. | ||
| File Operations | Copy File(s) | Y (after selecting) |
Copy selected files. Use P to paste. |
|
| Move File(s) | X (after selecting) |
Move (cut) selected files. Use P to paste. |
||
| Paste File(s) | P |
Paste copied or cut files into the current directory. | ||
| Rename File | R |
Rename the selected file. | ||
| Rename Files in Bulk | Select files, then R |
Use regular expressions in your editor to rename multiple selected files at once. | ||
| Delete to Trash | D, confirm with Enter or Y |
Move selected files to the trash. | ||
| Delete Permanently | Shift + D, confirm with Enter or Y |
Permanently delete selected files. | ||
| Create New File | A |
Create a new empty file. | ||
| Create Directory | A (then add / to filename, e.g., new_dir/) |
Create a new directory. | ||
| Advanced Features | Filter Files by Name | F |
Quickly filter visible files by their name. | |
| Search Files by Name | S |
Search for files by their name. | ||
| Search File Content | Shift + S |
Uses rip grep to search file content (e.g., “to-do” in your codebase). |
||
| Image Previews | Hover over an image file | See a preview of image files directly in the terminal (works with supported terminals). | ||
| Code Previews | Scroll through code files | Displays code with syntax highlighting, no external editor needed for quick checks. | ||
| Background Transfers | Yazi handles file transfers in the background, preventing the terminal from freezing even with thousands of files. | |||
| Task Manager | W |
Check the progress of background tasks and transfers. | ||
| Run Shell Commands | ; (semicolon) or : (colon) |
Opens the command palette to execute shell commands, change permissions, or trigger scripts without leaving Yazi. | ||
| Customization | Themes (Flavors) | yazi package install <theme_name> |
Install pre-built themes like “Tokyo Night”. Configure in theme.toml (e.g., dark = "tokyonight"). Save and restart Yazi. |
|
| Plugins (Lua System) | yazi package install <plugin_name> |
Extend functionality with Lua plugins, e.g., mount.yazi for managing mounted drives. |
||
| Keybindings | Edit keymap.toml |
Remap keys or add new shortcuts. Define the key and action (e.g., bind mount.yazi to M). Restart Yazi. |
||
| Configuration Files | ~/.config/yazi/ (directory), yazi.toml (main file) |
Adjust preview settings, async task limits, and more. Check Yazi’s documentation for examples. | ||
| Related Tool | Code Crafters | A platform to enhance coding skills by building tools like Redis, Git, or Docker from scratch, gaining an in-depth understanding. Discounts may be available via specific links. |