
Есть много причин использовать файловый менеджер на базе терминала, а не графический интерфейс. Для меня это возможность оставаться в рамках одного приложения, не использовать мышь и пользоваться преимуществами завершения вкладок. Долгое время я использовал 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.