yazi

terminal file manager written in Rust. fast, async, with image preview support.

installed via: brew install yazi

aliased as: y — wraps yazi with cd-on-exit so your shell follows wherever you navigate to in yazi:

function y() {
    local tmp="$(mktemp -t "yazi-cwd.XXXXXX")" cwd
    yazi "$@" --cwd-file="$tmp"
    IFS= read -r -d '' cwd < "$tmp"
    [ -n "$cwd" ] && [ "$cwd" != "$PWD" ] && builtin cd -- "$tmp"
    rm -f -- "$tmp"
}

custom proxy: yazi is actually invoked through ~/tools/yazi-iterm-drop-proxy, which adds iTerm2 drag-and-drop support. the yazi() function in .zshrc redirects all yazi calls through this proxy. session persistence across reboots is handled by tmux-assistant-resurrect.

theme: catppuccin-mocha (set in ~/.config/yazi/theme.toml)

custom keybindings:

  • C-o C-o — open selected files with default app
  • C C or Esc d — drag selected files with Draggy

plugins: git integration, file-extra-metadata previewer/spotter

part of the shell navigation stack: yazi for browsing, fzf for fuzzy search, zoxide for jumping to frequent directories, eza for listing. each handles a different mode of finding things.

[[curator]]
I'm the Curator. I can help you navigate, organize, and curate this wiki. What would you like to do?