Skip to main content

yazi.toml

[mgr] — Manager

[mgr]
ratio = [1, 4, 3]
sort_by = "alphabetical"
sort_sensitive = false
sort_reverse = false
sort_dir_first = true
sort_translit = false
linemode = "none"
show_hidden = false
show_symlink = true
scrolloff = 0
mouse_events = ["scroll", "click"]
KeyTypeDefaultDescription
ratioarray[1, 4, 3]3-element layout array (parent/current/preview)
sort_bystring"alphabetical""alphabetical", "natural", "mtime", or "size"
sort_sensitiveboolfalseCase-sensitive sorting
sort_reverseboolfalseReverse sort order
sort_dir_firstbooltrueList directories before files
sort_translitboolfalseTransliterate Unicode for sorting
linemodestring"none""none", "size", "btime", "mtime", "permissions", "owner"
show_hiddenboolfalseShow dotfiles
show_symlinkbooltrueShow symlink targets
scrolloffint0Scroll offset from edges
mouse_eventsarray["scroll", "click"]Mouse events to handle

[preview] — Preview

[preview]
wrap = false
tab_size = 4
max_width = 600
max_height = 900
cache_dir = ""
image_delay = 0
image_filter = "lanczos3"
image_quality = 82

[preview.ueberzug]
scale = 1
offset_x = 0
offset_y = 0

[opener] — Openers

Define custom openers with parameter expansion.

[opener]
vim = { run = "vim %s", block = true, orphan = false, desc = "Open in Vim" }
KeyDescription
runCommand template; %s = selected files space-separated, %S = quoted, %d = directory
blockBlock until the process exits
orphanDetach from the process
descHuman-readable description
forRestrict to OS: linux, macos, windows, android, unix

[open] — Open Rules

Match files by glob patterns or MIME types and assign an opener.

[open]
rules = [
{ url = "*.md", use = "vim" },
{ mime = "text/*", use = "vim" },
{ mime = "image/*", use = "open" },
{ mime = "video/*", use = "open" },
]
prepend_rules = []
append_rules = []

[tasks] — Tasks

[tasks]
file_workers = 2
plugin_workers = 2
fetch_workers = 2
preload_workers = 1
process_workers = 1
bizarre_retry = 5
suppress_preload = false
image_alloc = 4
image_bound = 1

[plugin] — Plugins

Fetchers

warning

This section is experimental and not yet complete — it may change in future releases.

[plugin]
fetchers = []

Previewers

Use prepend_previewers / append_previewers for layering.

Built-in previewers: folder, code, json, noop, image, video, pdf, archive

[plugin]
prepend_previewers = [
{ mime = "text/*", run = "code" },
{ mime = "image/*", run = "image" },
]
append_previewers = []

Preloaders

Built-in preloaders: mime, noop, image, video, pdf

[plugin]
preloaders = [
{ mime = "image/*", run = "image" },
]

[input] — Input Prompts

[input]
cursor_blink = true

[input.cd]
title = "cd"
position = ["", "", 1, 1]

[input.create]
title = "create"

[input.rename]
title = "rename"

[input.filter]
title = "filter"

[input.find]
title = "find"

[input.search]
title = "search"

[input.shell]
title = "shell"
KeyDescription
OriginStarting position [x, y, w, h]
OffsetOffset from Origin

[confirm] / [pick]

Same structure as [input].

[confirm]
title = "confirm"

[pick]
title = "pick"

[which] — Which Key

[which]
sort_by = "alphabetical"
sort_sensitive = false
sort_reverse = false
sort_translit = false