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 appC CorEsc 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.