💥 Blazing fast terminal file manager written in Rust, based on async I/O.
Find a file
2024-03-14 14:43:20 +03:30
.github fix: respond to the SIGTERM signal even when Yazi is in the background and has passed control of the terminal to the spawned process (#797) 2024-03-13 23:26:17 +08:00
assets feat: add desktop entry and logo (#534) 2024-01-18 00:46:04 +08:00
nix ci: add cachix workflow (#740) 2024-02-28 08:43:55 +08:00
scripts fix: respond to the SIGTERM signal even when Yazi is in the background and has passed control of the terminal to the spawned process (#797) 2024-03-13 23:26:17 +08:00
snap feat: add support for snap packages (#531) 2024-01-18 00:20:45 +08:00
yazi-adaptor refactor: wrap Opener with Cow to avoid unnecessary memory reallocations when opening files (#805) 2024-03-12 23:35:26 +08:00
yazi-boot refactor: wrap Opener with Cow to avoid unnecessary memory reallocations when opening files (#805) 2024-03-12 23:35:26 +08:00
yazi-config refactor: wrap Opener with Cow to avoid unnecessary memory reallocations when opening files (#805) 2024-03-12 23:35:26 +08:00
yazi-core refactor: wrap Opener with Cow to avoid unnecessary memory reallocations when opening files (#805) 2024-03-12 23:35:26 +08:00
yazi-fm fix: respond to the SIGTERM signal even when Yazi is in the background and has passed control of the terminal to the spawned process (#797) 2024-03-13 23:26:17 +08:00
yazi-plugin refactor: wrap Opener with Cow to avoid unnecessary memory reallocations when opening files (#805) 2024-03-12 23:35:26 +08:00
yazi-proxy refactor: wrap Opener with Cow to avoid unnecessary memory reallocations when opening files (#805) 2024-03-12 23:35:26 +08:00
yazi-scheduler refactor: wrap Opener with Cow to avoid unnecessary memory reallocations when opening files (#805) 2024-03-12 23:35:26 +08:00
yazi-shared feat: ya.hide() plugin API (#792) 2024-03-09 03:07:20 +08:00
.envrc refactor(nix): add shell completion and avoid impure (#293) 2023-10-22 08:10:53 +08:00
.gitignore chore: ignore configuration of editor (#322) 2023-10-26 23:02:37 +08:00
Cargo.lock refactor: wrap Opener with Cow to avoid unnecessary memory reallocations when opening files (#805) 2024-03-12 23:35:26 +08:00
Cargo.toml feat: add more optimization options (#377) 2023-11-18 11:44:43 +08:00
cspell.json feat: ya.hide() plugin API (#792) 2024-03-09 03:07:20 +08:00
Dockerfile added basic dockerfile 2024-03-14 14:42:52 +03:30
flake.lock fix: catchup with the latest stable Rust (#409) 2023-11-29 20:37:10 +08:00
flake.nix fix: catchup with the latest stable Rust (#409) 2023-11-29 20:37:10 +08:00
LICENSE fix: typo of LICENSE file (#201) 2023-09-21 23:11:51 +08:00
README.md updated Readme file for docker usage 2024-03-14 14:43:20 +03:30
rustfmt.toml chore: add rustfmt.toml 2023-08-08 21:02:56 +08:00

Yazi logo

Yazi - Blazing Fast Terminal File Manager

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

💡 A new article explaining its internal workings: Why is Yazi Fast?

  • 🚀 Full Asynchronous Support: All I/O operations are asynchronous, CPU tasks are spread across multiple threads, making the most of available resources.
  • 💪 Powerful Async Task Scheduling and Management: Provides real-time progress updates, task cancellation, and internal task priority assignment.
  • 🖼️ Built-in Support for Multiple Image Protocols: Also integrated with Überzug++, covering almost all terminals.
  • 🌟 Built-in Code Highlighting and Image Decoding: Combined with the pre-loading mechanism, greatly accelerates image and normal file loading.
  • 🔌 Concurrent Plugin System: UI plugins (rewriting most of the UI), functional plugins, custom previewer, and custom preloader; Just some pieces of Lua.
  • 🧰 Integration with fd, rg, fzf, zoxide
  • 💫 Vim-like input/select/notify component, auto-completion for cd paths
  • 🏷️ Multi-Tab Support, Cross-directory selection, Scrollable Preview (for videos, PDFs, archives, directories, code, etc.)
  • 🔄 Bulk Renaming, Visual Mode, File Chooser
  • 🎨 Theme System, Custom Layouts, Trash Bin, CSI u
  • ... and more!

https://github.com/sxyazi/yazi/assets/17523360/92ff23fa-0cd5-4f04-b387-894c12265cc7

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

Documentation

Usage via docker image

docker run -it --rm -v /filesystem:/filesystem sinawic/yazi /filesystem

by default path will be /

build yourself

after cloning the repo:

cd yazi
docker build -t yazi .

Discussion

Image Preview

Platform Protocol Support
kitty Kitty unicode placeholders Built-in
Konsole Kitty old protocol Built-in
iTerm2 Inline images protocol Built-in
WezTerm Inline images protocol Built-in
Mintty (Git Bash) Inline images protocol Built-in
foot Sixel graphics format Built-in
Ghostty Kitty old protocol Built-in
Black Box Sixel graphics format Built-in
VSCode Inline images protocol Built-in
Tabby Inline images protocol Built-in
Hyper Inline images protocol Built-in
X11 / Wayland Window system protocol ☑️ Überzug++ required
Fallback Chafa ☑️ Überzug++ required

See https://yazi-rs.github.io/docs/image-preview for details.

License

Yazi is MIT-licensed. For more information check the LICENSE file.