Yazi (кит. «鸭子» означает «утка») — это невероятно быстрый терминальный файловый менеджер, написанный на Rust, основанный на неблокируемом асинхронном вводе-выводе. Он нацелен на предоставление эффективного, удобного и настраиваемого опыта управления файлами.
Yazi распространяется под лицензие MIT.
Основные особенности:
- 🚀 Полная поддержка асинхронности: все операции ввода-вывода асинхронны, задачи ЦП распределены по нескольким потокам, что позволяет максимально эффективно использовать доступные ресурсы.
- 💪 Мощное асинхронное планирование и управление задачами.
- 🖼️ Встроенная поддержка нескольких протоколов показа изображений в терминале: интеграция с Überzug++ и Chafa, поддерживаются почти все терминалы.
- 🌟 Встроенная подсветка кода и декодирование изображений: в сочетании с механизмом предварительной загрузки значительно ускоряет загрузку изображений и обычных файлов.
- 🔌 Параллельная система плагинов: плагины пользовательского интерфейса, функциональные плагины, кастомные пре-просмотрщики/загрузчики и др.
- 📦 Менеджер пакетов: установка плагинов и тем одной командой, поддержание их в актуальном состоянии или привязка к определенной версии.
- 🧰 Интеграция с ripgrep, fd, fzf, zoxide.
- 💫 Ввод/выбор/подтверждения в стиле Vim, автодополнение для путей.
- 🏷️ Поддержка нескольких вкладок, выбор между каталогами, прокручиваемый предварительный просмотр (для видео, PDF-файлов, архивов, кода, каталогов и т. д.).
- 🔄 Массовое переименование, визуальный режим, средство выбора файлов, интеграция с Git, менеджер монтирования.
- 🎨 Система тем, поддержка мыши, корзина, пользовательские макеты и многое другое.
Новые версии и фичи у Yazi выходят достаточно часто, выдержка из основных изменениях в последних версиях:
- новый плагин монтирования;
- упрощения в командах
shell
иplugin
; - изменения в vim-режиме;
- улучшения в менеджере плагинов.
>>> Основные особенности Yazi (осторожно, много мельтешащих видео на одном экране)
>>> GitHub проекта