Tips Overview
Full Border Mode
Yazi's default UI shows panel borders around individual panels. Enable full border mode for a single continuous border around the entire Yazi window:
# yazi.toml
[manager]
show_border = true # gives the outer window a continuous border
Dropping to Shell
Suspend Yazi and return to your shell with Ctrl+Z. The process is paused in the background. Resume it with the shell's fg command. All Yazi state — open tabs, current directory, selections — is preserved.
Closing Input Prompts
Use Esc to cancel/close an input prompt instead of Ctrl+C. This is more ergonomic and avoids accidentally triggering shell-level interrupts.
Smart Enter Behavior
The enter key in Yazi is context-aware:
- On a directory — navigates into it
- On a file — opens it with the default opener
- On a zip/archive — previews contents without extracting
- When a selection is active — opens all selected files
Multi-Layer Search
Combine search_do with fd for a flat, recursive search that bypasses the default directory-scoped search:
# In the Yazi shell (:), search all files recursively with fd:
:fd --type f --search-path ~/projects
This is useful when you want a project-wide flat file list without navigating directories.
Bulk Rename with $EDITOR
Yazi can open your $EDITOR with a list of filenames for batch renaming. The workflow is:
- Select files with
Spaceorv - Press
rto initiate rename - Yazi opens
$EDITORwith filenames listed one per line - Edit the names, save, and quit
- Yazi applies the renames
Only rename entries you want to change — unchanged lines are left as-is. Lines prefixed with # are comments and skipped.
Custom File Previewers
Yazi's plugin system supports custom previewers that match on MIME type or URL pattern. See the Custom Previewers page for examples including HEIC and RAF image previewers.
Email Selected Files
Select files and pipe them to a mail client:
:echo "$@" | xargs -d '\n' mutt -a
Or use a shell block:
:; mutt -a "$@"
The -- End-of-Options Marker
Use -- in shell commands to separate options from arguments. This prevents filenames starting with - from being interpreted as flags:
:rm -- "$@"
:ls -la -- "$@"
This is especially important when operating on yanked/selected files that may contain special characters or leading dashes.
TOML Multiline Basic Strings
Complex shell commands with special characters are easier to write using TOML's multiline basic strings (triple-quoted """):
# Instead of escaping quotes in a single-line string:
prepend_previewers = [
{ mime = "image/heic", run = "heic-preview $1 $2 $3" }
]
# Use triple-quoted multiline for readability:
prepend_previewers = [
{ mime = "image/heic", run = """
heic-preview "$1" "$2" "$3"
""" }
]
This avoids escaping issues with embedded quotes, backslashes, and shell operators.