Skip to main content

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

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:

  1. Select files with Space or v
  2. Press r to initiate rename
  3. Yazi opens $EDITOR with filenames listed one per line
  4. Edit the names, save, and quit
  5. Yazi applies the renames
tip

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.