# 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 in your project root: ## 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: 图像预览不工作?** A: 需要终端支持 Kitty、iTerm2、Sixel 或 Überzug 协议。Ghostty、Kitty、WezTerm、iTerm2 原生支持。 **Q: 插件怎么装?** A: `ya pack -a user/plugin-name`,插件住在 `~/.config/yazi/plugins/`。 **Q: 性能?** A: Rust + async,大目录(10 万文件)秒开。旧 Python/C 版文件管理器会卡住。 ## 来源与致谢 Sources - Docs: https://yazi-rs.github.io - GitHub: https://github.com/sxyazi/yazi - License: MIT --- Source: https://tokrepo.com/en/workflows/224cd538-35d4-11f1-9bc6-00163e2b0d79 Author: AI Open Source