⚡️ Blazing fast terminal file manager written in Rust, based on async I/O.

Related tags

Command-line yazi
Overview

Yazi - ⚡️ Blazing Fast Terminal File Manager

Yazi ("duck" in Chinese) is a terminal file manager written in Rust, based on non-blocking async I/O. It aims to provide an efficient, user-friendly, and configurable file management experience.

example.mp4

⚠️ Note: Yazi is currently in active development and may be unstable. The API is subject to change without prior notice.

Installation

Before getting started, ensure that the following dependencies are installed on your system:

  • nerd-fonts (required, for icons)
  • jq (optional, for JSON preview)
  • unar (optional, for archive preview)
  • ffmpegthumbnailer (optional, for video thumbnails)
  • fd (optional, for file searching)
  • rg (optional, for file content searching)
  • fzf (optional, for directory jumping)
  • zoxide (optional, for directory jumping)

Arch Linux

Install with paru or your favorite AUR helper:

paru -S yazi jq unarchiver ffmpegthumbnailer fd ripgrep fzf zoxide

macOS

Install the dependencies with Homebrew:

brew install jq unar ffmpegthumbnailer fd ripgrep fzf zoxide
brew tap homebrew/cask-fonts && brew install --cask font-symbols-only-nerd-font

And download the latest release from here. Or you can install Yazi via cargo:

cargo install --git https://github.com/sxyazi/yazi.git

Nix

Nix users can install Yazi from the NUR:

nix-env -iA nur.repos.xyenon.yazi

Or add the following to your configuration:

# configuration.nix
environment.systemPackages = with pkgs; [
  nur.repos.xyenon.yazi
];

Build from source

Execute the following commands to clone the project and build Yazi:

git clone https://github.com/sxyazi/yazi.git
cd yazi
cargo build --release

Then, you can run:

./target/release/yazi

Usage

yazi

If you want to use your own config, copy the config folder to ~/.config/yazi, and modify it as you like.

Image Preview

Platform Protocol Support
Kitty Terminal graphics protocol Built-in
WezTerm Terminal graphics protocol Built-in
Konsole Terminal graphics protocol Built-in
iTerm2 Inline Images Protocol ✅ Built-in
Hyper Sixel ☑️ Überzug++ required
foot Sixel ☑️ Überzug++ required
X11 / Wayland Window system protocol ☑️ Überzug++ required
Fallback Chafa ☑️ Überzug++ required

Yazi automatically selects the appropriate preview method for you, based on the priority from top to bottom. That's relying on the $TERM, $TERM_PROGRAM, and $XDG_SESSION_TYPE variables, make sure you don't overwrite them by mistake!

For instance, if your terminal is Alacritty, which doesn't support displaying images itself, but you are running on an X11/Wayland environment, it will automatically use the "Window system protocol" to display images -- this requires you to have Überzug++ installed.

TODO

  • Add example config for general usage, currently please see my another repo instead
  • Integration with fzf, zoxide for fast directory navigation
  • Integration with fd, rg for fuzzy file searching
  • Documentation of commands and options
  • Support for Überzug++ for image previews with X11/wayland environment
  • Batch renaming support

License

Yazi is MIT licensed.

You might also like...
⚡️Blazing Fast⚡️ CLI tool to get Bible verses with Rust 🦀

bible.rs This is a simple command line tool that accesses bible-api.com to print Bible verses in the terminal Installation brew install wzid/tap/bible

zoxide is a blazing fast replacement for your cd command
zoxide is a blazing fast replacement for your cd command

zoxide A smarter cd command for your terminal zoxide is a blazing fast replacement for your cd command, inspired by z and z.lua. It keeps track of the

 ⚡️ A blazing fast way of maintaining powerful notes with connections between them.
⚡️ A blazing fast way of maintaining powerful notes with connections between them.

Zettl ⚡️ A blazing fast way of maintaining powerful notes with connections between them. Installing Zettl To install Zettl, you will need the Rust too

☄🌌️  The minimal, blazing-fast, and infinitely customizable prompt for any shell
☄🌌️ The minimal, blazing-fast, and infinitely customizable prompt for any shell

☄🌌️ The minimal, blazing-fast, and infinitely customizable prompt for any shell

⚡ A Blazing fast alternative to the stock windows folder delete function!
⚡ A Blazing fast alternative to the stock windows folder delete function!

Turbo Delete A blazing fast alternative to the default Windows delete. Turbodelete is a blazing fast alternative to the default Windows delete functio

Starkli (/ˈstɑːrklaɪ/), a ⚡ blazing ⚡ fast ⚡ CLI tool for StarkNet powered by 🦀 starknet-rs 🦀

starkli Starkli (/ˈstɑːrklaɪ/), a ⚡ blazing ⚡ fast ⚡ CLI tool for StarkNet powered by 🦀 starknet-rs 🦀 Installation The package will be published to

Blazing-fast and yet Sleuth cameraman to www*  😎⚡✨
Blazing-fast and yet Sleuth cameraman to www* 😎⚡✨

Haylxon 🔥 🦀 SHOOT BEFORE THE BLINK || Haylxon, A tool embodying the K1SS philosophy that allows you to take screenshots of webpages/URLs at lightnin

pyrevm Blazing-fast Python bindings to revm

pyrevm Blazing-fast Python bindings to revm Quickstart make install make test Example Usage Here we show how you can fork from Ethereum mainnet and s

Blazing fast tool to benchmark Starknet sequencers 🦀

Gomu Gomu no Gatling Blazing fast tool to benchmark Starknet sequencers 🦀 . Installation From source git clone https://github.com/keep-starknet-stran

Releases(v0.1.2)
Owner
三咲雅 · Misaki Masa
A goal is a dream with a deadline.
三咲雅 · Misaki Masa
A Rust on-site channel benchmarking helper. Inter-Process (async / busy) & Intra-Process (async single threaded / async multi threaded)

On-Site Rust Channel Benchmarking Helper Deploy on server to determine which public crates are the fastest for communicating in different architecture

null 23 Jul 9, 2024
Minimal and blazing-fast file server. For real, this time.

Zy Minimal and blazing-fast file server. For real, this time. Features Single Page Application support Partial responses (Range support) Cross-Origin

Miraculous Owonubi 17 Dec 18, 2022
joshuto: ranger-like terminal file manager written in Rust.

joshuto: ranger-like terminal file manager written in Rust.

Jeff Zhao 1.1k Dec 30, 2022
Simple terminal file manager(vi-style keybindings) written in rust

rust-tfm rust-tfm is a terminal file manager written in rust heavily inspired by lf and ranger, and also inspired by suckless software. rust-tfm.mp4 F

Jiao ShiJie 9 Sep 26, 2023
Rust File Management CLI is a command-line tool written in Rust that provides essential file management functionalities. Whether you're working with files or directories, this tool simplifies common file operations with ease.

Rust FileOps Rust File Management CLI is a command-line tool written in Rust that provides essential file management functionalities. Whether you're w

Harikesh Ranjan Sinha 5 May 2, 2024
A blazing fast command line license generator for your open source projects written in Rust🚀

Overview This is a blazing fast ⚡ , command line license generator for your open source projects written in Rust. I know that GitHub

Shoubhit Dash 43 Dec 30, 2022
⚡ Blazing ⚡ fast ⚡ compiler for Cairo, written in 🦀 Rust 🦀

Cairo 1.0 ?? ⚡ Blazing ⚡ fast ⚡ compiler for Cairo, written in ?? Rust ?? Report a Bug - Request a Feature - Ask a Question Getting Started Prerequisi

Darlington Nnam 6 Feb 23, 2023
A blazingly fast rust-based bionic reader for blazingly fast reading within a terminal console 🦀

This Rust-based CLI tool reads text and returns it back in bionic reading format for blazingly fast loading and even faster reading! Bionic reading is

Ismet Handzic 5 Aug 5, 2023
An efficient pictures manager based on custom tags and file system organization.

PicturesManager An efficient pictures manager based on custom tags and file system organization. Developed with Tauri (web app) with a Rust backend an

Clément Grennerat 2 Dec 21, 2022
A blazing fast and easy to use TRPC-like server for Rust.

rspc ?? Work in progress ?? A blazing fast and easy to use TRPC-like server for Rust. Website Example You define a trpc router and attach resolvers to

Oscar Beaumont 344 Dec 31, 2022