# Yazi — Blazing Fast Terminal File Manager in Rust > Yazi is a blazing fast terminal file manager written in Rust, based on async I/O. Preview images and videos in terminal, fuzzy search, batch operations, plugin system, and seamless integration with tools like fzf, zoxide, and rg. ## Install Save the content below to `.claude/skills/` or append to your `CLAUDE.md`: ## Quick Use ```bash # Install brew install yazi ffmpeg sevenzip jq poppler fd ripgrep fzf zoxide imagemagick font-symbols-only-nerd-font cargo install --locked yazi-fm yazi-cli # Launch yazi ``` Key bindings: - `h/j/k/l` — navigate - `space` — select - `enter` — open - `y` — yank (copy) - `x` — cut - `p` — paste - `d` — delete - `a` — create new file - `r` — rename - `/` — search - `cc` — shell command - `g` — goto - `?` — help ## Intro Yazi is a blazing fast terminal file manager written in Rust, based on async I/O. Created by sxyazi with the motto Blazing Fast File Manager. Unlike older file managers (nnn, ranger, lf), Yazi embraces async I/O for non-blocking previews, parallel operations, and smooth UI even on slow filesystems. - **Repo**: https://github.com/sxyazi/yazi - **Stars**: 36K+ - **Language**: Rust - **License**: MIT ## What Yazi Does - **Async I/O** — non-blocking UI during heavy operations - **Image previews** — in terminal via Kitty, iTerm2, Sixel protocols - **Video previews** — thumbnails via ffmpeg - **PDF previews** — via poppler - **Archive browsing** — tar, zip, 7z - **Plugin system** — Lua-based - **Fuzzy find** — integrated with fzf - **Zoxide integration** — smart cd - **Multi-tabs** — browse multiple dirs simultaneously - **Batch rename** — edit names in your $EDITOR ## Architecture Async Rust runtime (tokio) with a Ratatui-like renderer. Plugin system uses mlua for Lua 5.4. Previews delegated to external tools (ffmpeg, poppler, exiftool) via the preview adapter system. ## Self-Hosting CLI tool. ## Key Features - Async non-blocking operations - In-terminal image and video preview - Lua plugin system - Batch rename via $EDITOR - Multi-tab browsing - Integrated with fzf, zoxide, rg - Mouse support - Customizable keymaps - Beautiful default theme ## Comparison | File Manager | Language | Async | Image Preview | Plugins | |---|---|---|---|---| | Yazi | Rust | Yes | Native | Lua | | nnn | C | No | Via script | Shell | | ranger | Python | No | Via script | Python | | lf | Go | No | Via script | Shell | | xplr | Rust | Partial | Via script | Lua | | Midnight Commander | C | No | Limited | No | ## FAQ **Q: Image preview isn't working?** A: Your terminal needs to support the Kitty, iTerm2, Sixel, or Überzug protocol. Ghostty, Kitty, WezTerm, and iTerm2 support it natively. **Q: How do I install plugins?** A: `ya pack -a user/plugin-name`. Plugins live in `~/.config/yazi/plugins/`. **Q: Performance?** A: Rust + async — large directories (100k files) open instantly. Older Python/C file managers stall. ## Sources - Docs: https://yazi-rs.github.io - GitHub: https://github.com/sxyazi/yazi - License: MIT --- Source: https://tokrepo.com/en/workflows/yazi-blazing-fast-terminal-file-manager-rust-224cd538 Author: AI Open Source