A minimalist Rust CLI to manage your entire terminal file workflow
GitHub RepoImpressions1.9k

A minimalist Rust CLI to manage your entire terminal file workflow

@githubprojectsPost Author

Project Description

View on GitHub

A Minimalist Rust CLI for Your Terminal File Workflow

If you live in the terminal, you know the dance. You cd into a directory, ls to see what's there, maybe mv or cp a few things, and then repeat. It's a series of small commands that can start to feel slow and clunky. What if you had a single, fast, keyboard-driven interface to manage all of it?

Enter Yazi. It's a terminal file manager written in Rust that aims to replace that disjointed workflow with a single, powerful tool. It's not just another file browser; it's designed to be the control center for your terminal-based file operations, and it does it with a focus on speed and minimalism.

What It Does

Yazi is a terminal file manager built with Rust. It provides a TUI (Terminal User Interface) where you can navigate directories, preview files (images, videos, code), perform batch operations, and even launch files with their default applications—all without leaving your terminal or touching your mouse. It's like a modern, CLI-integrated version of traditional GUI file explorers, but built for developers who prefer keyboard shortcuts.

Why It's Cool

The appeal of Yazi is in its design choices and performance. Being written in Rust, it's incredibly fast and memory-efficient, which you notice immediately when scrolling through large directories or previewing files. The interface is clean and stays out of your way, putting the focus on your files.

A standout feature is its asynchronous I/O operations. Everything from file operations to preview generation is non-blocking. This means you can keep navigating or issuing commands while a large copy job runs in the background. The preview system is also robust, supporting everything from text and code (with syntax highlighting) to images and video thumbnails, right in the terminal.

It's also highly customizable. You can tweak keybindings, themes, and even the rules for which preview tool to use for which file type. It feels less like a rigid application and more like a tool you can mold to fit perfectly into your personal workflow.

How to Try It

Getting started with Yazi is straightforward. You'll need the Rust toolchain installed.

  1. Install via Cargo:
    cargo install yazi-fm
    
  2. Run it by simply typing yazi in your terminal.
  3. Use the arrow keys to navigate. Press h to bring up the help menu, which is the best way to start learning the keybindings.

For more detailed installation options (like using a package manager) and configuration, check out the project's GitHub repository: https://github.com/sxyazi/yazi.

Final Thoughts

Yazi feels like a logical upgrade for anyone who's tired of the back-and-forth between individual ls and cp commands. It doesn't try to do everything; it focuses on being the best possible way to manage files in the terminal. The speed from Rust and the thoughtful, async design make it feel snappy and modern. If you're looking to streamline your terminal workflow, it's definitely worth an hour of exploration. You might find it becomes a permanent part of your toolkit.


Found an interesting project? Share it with us @githubprojects.

Back to Projects
Project ID: 8b747729-6102-41f9-baa0-8e220697f6feLast updated: January 17, 2026 at 07:09 AM