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"]
| Key | Type | Default | Description |
|---|---|---|---|
ratio | array | [1, 4, 3] | 3-element layout array (parent/current/preview) |
sort_by | string | "alphabetical" | "alphabetical", "natural", "mtime", or "size" |
sort_sensitive | bool | false | Case-sensitive sorting |
sort_reverse | bool | false | Reverse sort order |
sort_dir_first | bool | true | List directories before files |
sort_translit | bool | false | Transliterate Unicode for sorting |
linemode | string | "none" | "none", "size", "btime", "mtime", "permissions", "owner" |
show_hidden | bool | false | Show dotfiles |
show_symlink | bool | true | Show symlink targets |
scrolloff | int | 0 | Scroll offset from edges |
mouse_events | array | ["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" }
| Key | Description |
|---|---|
run | Command template; %s = selected files space-separated, %S = quoted, %d = directory |
block | Block until the process exits |
orphan | Detach from the process |
desc | Human-readable description |
for | Restrict 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"
| Key | Description |
|---|---|
Origin | Starting position [x, y, w, h] |
Offset | Offset 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