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

Установка и зависимости

Сам Yazi требует только утилиту file для определения типа файла. Всё остальное опционально. В Debian и Ubuntu удобнее официальный APT-репозиторий: он даёт свежую версию, тогда как пакет из дистрибутива может отставать.

curl -fsSL https://yazi-rs.github.io/builds/yazi-keyring.gpg | sudo tee /usr/share/keyrings/yazi-keyring.gpg >/dev/null
echo 'deb [signed-by=/usr/share/keyrings/yazi-keyring.gpg] https://yazi-rs.github.io/builds/ stable main' | sudo tee /etc/apt/sources.list.d/yazi.list >/dev/null
sudo apt update && sudo apt install yazi

Для превью и поиска поставьте набор утилит. Без них Yazi работает, но часть возможностей просто отключится.

sudo apt install ffmpeg p7zip-full jq poppler-utils fd-find ripgrep fzf zoxide imagemagick
sudo ln -sf "$(command -v fdfind)" /usr/local/bin/fd

В Arch Linux всё ставится одной командой pacman -S yazi ffmpeg 7zip jq poppler fd ripgrep fzf zoxide resvg imagemagick. Проверка версии: yazi —version. Готовые сборки для других систем: https://github.com/sxyazi/yazi/releases. Команда ya нужна для управления плагинами.

Первый запуск и базовые клавиши

Запустите yazi в нужном каталоге. Экран делится на три панели: родительский каталог, текущий и превью. Перемещение — h j k l или стрелки, Enter входит в каталог, q выходит.

  • Пробел — выделить файл, v — визуальный режим, Esc — снять выделение.
  • y — копировать, x — вырезать, p — вставить, d — в корзину, D — удалить безвозвратно.
  • a — создать файл или каталог (слеш на конце), r — переименовать, o — открыть, O — выбрать программу.
  • / — поиск по имени, s — поиск через fd, S — поиск по содержимому через ripgrep.
  • z — выбор файла через fzf, Z — переход по истории каталогов через zoxide.
  • . — показать скрытые файлы, ~ — помощь, w — задачи, ; — shell.

Запомните Tab: он показывает сведения о файле и его MIME-тип. Это помогает понять, почему файл открылся не той программой.

Настройка: yazi.toml и keymap.toml

Конфигурация лежит в ~/.config/yazi/. Файлы создаются вручную; при первом запуске Yazi использует встроенные значения. Начните с yazi.toml.

[mgr]
ratio = [1, 4, 3]
show_hidden = false
linemode = "size"
sort_by = "natural"
sort_dir_first = true

[preview]
wrap = "no"
tab_size = 4
max_width = 1920
max_height = 1080
image_filter = "lanczos3"
image_quality = 80

Параметр ratio задаёт ширину панелей, linemode — что показывать справа от имени. Значение image_quality выше 80 заметно увеличивает кэш и нагрузку на CPU при прокрутке. После изменения размеров превью очистите кэш командой ya cache clear.

Свои сочетания клавиш добавляют в keymap.toml. Важно: нельзя смешивать строчный и табличный синтаксис TOML в одном разделе.

[[mgr.prepend_keymap]]
on = ["g", "h"]
run = "cd ~"
desc = "Домашний каталог"

[[mgr.prepend_keymap]]
on = ["g", "d"]
run = "cd ~/Downloads"
desc = "Загрузки"

[[mgr.prepend_keymap]]
on = "!"
run = "shell -- chmod +x %s"
desc = "Сделать исполняемым"

Действие shell получает подстановки: %s — выбранные файлы, %h — файл под курсором, %d — каталоги. Флаг —block нужен интерактивным программам, —orphan оставляет процесс работать после выхода из менеджера.

Превью и открытие файлов

Изображения выводятся в графических терминалах через протокол Kitty, Sixel или Überzug++. В tmux и screen превью обычно ломается: этим мультиплексорам нужна отдельная настройка проброса графики. Видео и PDF превращаются в кадры через ffmpeg и pdftoppm, архивы просматриваются через 7z.

Правила открытия живут в секции [open] файла yazi.toml. Можно привязать расширение к своей программе, не меняя системные ассоциации.

[open]
prepend_rules = [
  { url = "*.md", use = "edit" },
  { url = "*.log", use = "edit" },
  { url = "*.conf", use = "edit" }
]

По умолчанию edit запускает редактор из переменной EDITOR. Такой подход удобен на сервере, где xdg-open отсутствует: Yazi открывает файлы сам, а не через графическую среду.

Интеграция с оболочкой

Главная неочевидная деталь: после выхода из Yazi оболочка остаётся в прежнем каталоге. Чтобы cd происходил автоматически, добавьте функцию-обёртку в ~/.bashrc или ~/.zshrc.

function y() {
  local tmp
  tmp="$(mktemp -t yazi-cwd.XXXXXX)"
  yazi "$@" --cwd-file="$tmp"
  if c="$(cat "$tmp")"; then
    [ -n "$c" ] && [ "$c" != "$PWD" ] && cd -- "$c"
  fi
  rm -f -- "$tmp"
}

Теперь команда y открывает менеджер, а после q вы оказываетесь там, где остановились. Для fish понадобится аналогичная функция на его синтаксисе, для PowerShell — вариант с временным файлом. Не вызывайте yazi напрямую из скрипта, который рассчитывает на смену каталога: дочерний процесс не может изменить каталог родительской оболочки.

Плагины и производительность

Плагины ставятся командой ya pkg add. Например, git-плагин показывает статус репозитория прямо в списке файлов, а full-border добавляет рамки. Список установленного хранится в ~/.config/yazi/package.toml, поэтому его удобно держать в git и разворачивать командой ya pkg install.

ya pkg add yazi-rs/plugins:git yazi-rs/plugins:full-border
ya pkg list
ya pkg upgrade
ya pkg install

Если интерфейс подтормаживает, проверьте три вещи: размер кэша превью, значение image_quality и наличие Nerd Font. Шрифт без нужных глифов ломает отрисовку иконок и создаёт ощущение «сырого» интерфейса. На слабом CPU помогает отключение предзагрузки изображений в секции plugin. Кэш можно очистить в любой момент работы.

Чек-лист для повседневной работы:

  • Держите yazi и ya одной версии, иначе плагины могут не загрузиться.
  • Не запускайте менеджер от root без необходимости.
  • Проверяйте, куда указывает корзина: d перемещает файлы, D удаляет окончательно.
  • Для больших каталогов отключите предзагрузку превью, если процессор слабый.
  • Проверьте, что fd доступен под именем fd, иначе поиск не работает.
  • Плагины устанавливаются в каталог ~/.config/yazi/plugins.
  • Для поиска по содержимому нужен ripgrep, для истории — zoxide и fzf.

Итог

Yazi закрывает нишу быстрого навигатора: он легче файловых менеджеров на GTK, но функциональнее mc и ranger за счёт асинхронных превью и аккуратной работы с кириллицей. Начните с установки, запомните десяток клавиш и добавьте функцию y — этого достаточно, чтобы терминал стал основным инструментом работы с файлами.

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 0 / 5. Количество оценок: 0

Оценок пока нет. Поставьте оценку первым.

Поделиться: Telegram ВКонтакте