Yazi is a modern terminal file manager written in Rust. It's fast af, feature-rich, and has vim-style key bindings.
Why Yazi?
- Speed: Async I/O and Rust performance
- Image previews: Works in modern terminals that support graphics
- Vim motions: Navigate with j, k, and other intuitive vim keys
- Plugin system: Extensible with Lua
- Git integration: See Git file status at a glance
Key Features
Navigation
- Navigating from your terminal super fast with your keyboard (many familiar vim navigation key bindings).
- Find files quickly with integrated
fdandripgrep.
Opening, Creating, Copying, and Moving
Working with Folders, Files, and Links is intuitive and fast. (Way faster than using a mouse in a GUI File Manager and certainly faster than using typical terminal commands.)
Preview Pane
The preview pane is a key feature of Yazi. Not only are you shown a scrollable preview of non-binary files, but with awesome syntax highlighting. It is like auto cat on steroids.
With supported terminals, Yazi shows image thumbnails right in the terminal.
Dual Pane
Optional dual-pane mode for comparing directories or moving files between locations.
Bulk Operations
Rename, move, and copy multiple files with an intuitive interface.
Task Management
Background tasks with progress indication - no blocking on large operations.
Integration with My Workflow
I use Yazi CONSTANTLY! The learning curve was not bad at all and once I started relying on it, I almost never use any GUI File Manger. The ONLY time I begrudgingly open up a GUI File Manager is when I "have" to use some sort of "drag and drop" into some GUI application or webpage in a browser. As for using terminal commands (ls, cd, mkdir, rm, cp, mv, etc..), the only time I use them are when I am on a headless server(no Yazi installed and not prudent to install it).
Yazi fits perfectly into my terminal-centric setup:
- Neovim integration: Open files directly from Yazi
- Custom keybindings: Match my vim muscle memory
- Shell integration:
cdto Yazi's last directory on exit - Theme: Tokyo Night colors throughout
Getting Started
Install via your package manager, configure in ~/.config/yazi/, and you're ready to go. The defaults are pretty good, but customization makes it truly yours.
