Yazi - лучший файловый менеджер для терминала

Есть много причин использовать файловый менеджер на базе терминала, а не графический интерфейс. Для меня это возможность оставаться в рамках одного приложения, не использовать мышь и пользоваться преимуществами завершения вкладок. Долгое время я использовал Midnight Commander в качестве основного файлового менеджера, но недавно перешел на Yazi. Это инструмент на основе Rust, быстрый, многофункциональный и легко лучший файловый менеджер на базе терминала, который я использовал до сих пор.

Что такое Yazi?

Yazi – это терминальный файловый менеджер, написанный на Rust, который использует неблокируемый асинхронный ввод-вывод. Это позволяет выполнять несколько задач одновременно, например, загружать содержимое директорий или просматривать файлы, не зависая и не замедляясь. Это одна из тех крошечных утилит, которые могут сделать вашу работу в Linux еще лучше. И если вам интересно, Yazi в переводе с китайского означает «утка».

Скорость – вот где Yazi действительно сияет. В отличие от таких инструментов, как ls или eza, которые загружают все сразу, Yazi загружает большие каталоги по частям. Он загружает и отображает только те файлы, которые видны в терминале, обычно от 10 до 20 за раз, и благодаря этому интерфейс работает быстро и отзывчиво.

Определяет типы файлов, генерирует предварительный просмотр изображений и рассчитывает размеры каталогов в фоновом режиме с использованием нескольких потоков. Yazi выполняет эти операции только при необходимости и обрабатывает их небольшими партиями, чтобы снизить нагрузку на систему.

При быстрой прокрутке файлов Yazi отменяет все текущие операции предварительного просмотра или фоновые задачи, связанные с предыдущими файлами. Таким образом, он позволяет не тратить время и вычислительную мощность на выполнение задач, которые вам больше не нужны.

Установка Yazi

Процесс установки Yazis прост как в Linux, так и в macOS. В Linux проще всего установить его через Snap. Откройте терминал и введите:

sudo snap install yazi --classic

Если вы предпочитаете оставаться на самой современной версии, используйте:

sudo snap install yazi --classic --edge

На macOS установить Yazi еще проще, поскольку он доступен через Homebrew. Просто введите следующее:

brew install yazi

Особенности, которые отличают Yazi

Помимо скорости и полной поддержки асинхронного режима, Yazi предлагает функции, которые вы не найдете в других лучших файловых менеджерах на базе терминала. Например, система планирования задач с обновлением информации о ходе выполнения в реальном времени, поддержкой отмены задач и автоматическим назначением приоритетов позволяет выполнять важные задачи без заминок.

Yazi также может показывать быстрые предварительные просмотры изображений и кода прямо в файловом менеджере, так что вам не придется открывать их в другом приложении. Эти превью загружаются практически мгновенно, что позволяет просматривать фотографии или файлы кода без ожидания.

Кроме того, в нем есть мощная система дополнений. Вы можете изменить интерфейс, создать собственные инструменты для предварительного просмотра, ускорить загрузку файлов и даже настроить способ получения и отображения информации, сохранив при этом скорость работы.

Yazi идет еще дальше: он способен обмениваться информацией между различными частями приложения, не требуя дополнительных программ, работающих в фоновом режиме. Это означает, что такие функции, как синхронизация настроек или состояния файлов, будут работать без сбоев. В приложение также встроен инструмент для управления дополнениями, так что вы можете легко устанавливать, обновлять или блокировать любимые плагины и темы.

Yazi отлично работает с такими популярными инструментами разработчика, как ripgrep, fd, fzf и zoxide, и предлагает удобные элементы интерфейса для поиска, навигации и быстрых действий. Он упрощает управление файлами благодаря таким функциям, как несколько вкладок, выбор файлов из разных папок одновременно и предварительный просмотр видео, PDF или архивов без их отдельного открытия.

Для опытных пользователей предусмотрены такие дополнительные возможности, как массовое переименование, извлечение файлов из архивов, визуальный выбор нескольких файлов, работа с Git и управление подключенными дисками. Кроме того, вы можете сделать его собственным с помощью тем, поддержки мыши, пользовательских макетов, встроенной корзины для мусора, виртуальной файловой системы и поддержки расширенных функций терминала.

Мой опыт использования Yazi после нескольких месяцев применения

Я давно пользуюсь Midnight Commander. Он ни в коем случае не плох, но после нескольких месяцев работы с Yazi стало ясно, что он дает больше возможностей, особенно для современных терминальных рабочих процессов. Что сразу бросилось в глаза, так это то, что инструмент практически не требует настройки. Такие функции, как предварительный просмотр изображений, просмотр видеокадров и рендеринг PDF, работали в моей системе «из коробки», без необходимости использования сценариев оболочки или пользовательских конфигурационных хаков.

В отличие от таких инструментов, как Ranger и LF, которые часто нуждаются в длительной настройке или демонстрируют проблемы с производительностью, Yazi с самого начала работает быстро и полноценно. Что я очень ценю, так это качество изображения. Изображения в Yazi выглядят четкими, и даже превьюшки более четкие, в то время как даже Midnight Commander предлагает низкое качество изображения.

Такие мелочи, как общий буфер обмена между панелями и полноэкранный режим предварительного просмотра, мне очень понравились. Инструмент CLI также позволяет легко управлять плагинами и вносить изменения в пользовательский интерфейс.

Но больше всего впечатляет то, как быстро развивается проект. Новые функции выходят в постоянном темпе, часто решая проблемы еще до того, как мне придет в голову искать обходной путь. Со временем я перестал использовать Midnight Commander, Ranger, LF и nnn, потому что Yazi просто лучше подходит для моего рабочего процесса.

Yazi – отличный инструмент, но если вы пользователь Linux, то, скорее всего, вы используете командную строку не только для управления файлами. И если вы похожи на меня, вы, вероятно, любите время от времени встряхивать терминал. Вы можете легко сделать терминал более приятным с помощью этих инструментов для терминала Linux.