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.