Что такое superfile?
superfile — это файловый менеджер для терминала, построенный вокруг панелей, которые остаются открытыми. Несколько каталогов стоят рядом, боковая панель держит ярлыки домашнего каталога, закреплённые папки и смонтированные диски, а панель предпросмотра рисует то, что сейчас под курсором: исходник с подсветкой, обычный текст, содержимое каталога, картинку. Копирование, перемещение и упаковка идут в фоне и отчитываются в строке процессов, поэтому большая передача никогда не подвешивает панель, по которой вы ходите. Удалённые файлы попадают в корзину и возвращаются оттуда, архивы распаковываются и собираются на месте, а каждая клавиша, цвет, символ рамки и ширина панели — это строка в TOML-файле. Это один статически слинкованный бинарник на Go, и команда, которую вы набираете, называется spf.
> и список плагинов, который продолжает расти. Каждая из них приходит с новыми ключами в config.toml и hotkeys.toml, а старый бинарник молча игнорирует ровно те настройки, которые нынешняя документация советует выставить. Ни Debian, ни Ubuntu не пакуют superfile вообще, так что свежая сборка здесь не роскошь: это единственный способ получить его через apt.
⚡ Ключевые возможности superfile
🪟 Панели, а не один каталог
n открывает ещё одну файловую панель, tab переключает между ними, у каждой свой путь, своя сортировка и свой выбор. Копирование между двумя деревьями превращается в два нажатия вместо двух длинных путей.
👀 Предпросмотр, который следует за курсором
Боковая панель рисует выделенный файл прямо по ходу движения: код с подсветкой встроенным chroma или через bat, содержимое каталогов и картинки в терминалах, которые умеют их рисовать. f сворачивает панель, когда нужна ширина.
♻️ Удаление, которое можно отменить
ctrl+d отправляет файлы в корзину, а не уничтожает их, так что промах по клавише поправим. D — отдельная и осознанная команда безвозвратного удаления, для случаев, когда вы этого действительно хотите.
📊 Строка процессов для долгих задач
Копирование, перемещение и упаковка идут как отслеживаемые фоновые задачи со своим прогрессом и перечислены в панели процессов на p. Файловая панель остаётся рабочей, пока пара гигабайт едет с диска на диск.
🗜️ Искать, прыгать, паковать, распаковывать
/ фильтрует текущий каталог прямо при вводе, z передаёт прыжок zoxide, если он установлен, ctrl+a упаковывает выделение, а ctrl+e распаковывает архив там же, где он лежит.
🎨 Настраивается под вас
Один config.toml и один hotkeys.toml: любую клавишу можно переназначить, рядом с раскладкой по умолчанию лежит вариант для Vim, темы — это файлы, которые вы можете написать сами, а ширина боковой панели, символы рамок, сортировка по умолчанию и ширина предпросмотра просто настройки.
apt upgrade держит вас на последней версии.
📦 Установка из deb.griffo.io
Шаг 1: Добавить репозиторий
sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | sudo tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
sudo apt updateinstall -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
apt updatesudo apt install extrepo
sudo extrepo enable griffo
sudo apt update🆓 Есть вечно бесплатное зеркало. deb-free.griffo.io раздаёт пакеты бесплатно навсегда — без аккаунта, без подписки, не более 2 месяцев позади upstream, исправления безопасности сразу. Сейчас там cliamp, Ghostty, lazydocker, Oh My Posh и Zed; superfile среди них нет, поэтому репозиторий выше — единственный способ установить его сегодня; попросите, и его можно добавить.
🧩 О варианте extrepo. extrepo — штатный инструмент Debian для внешних репозиториев: он создаёт файл sources и устанавливает ключ подписи, предварительно сверив его с подписанными метаданными. Этот репозиторий зарегистрирован в нём как griffo, а бесплатное навсегда зеркало — как griffo-free, поэтому в Debian (bookworm, trixie, forky и sid) команды выше и есть вся настройка.
extrepo настраивает только файл sources и ключ — учётные данные подписки по-прежнему прописываются в /etc/apt/auth.conf.d/deb.griffo.io.conf. Ubuntu не поддерживается, так как extrepo публикует метаданные только для выпусков Debian: там используйте команды с sudo или от root.
Шаг 2: Установить superfile
# Установить последнюю версию superfile
sudo apt install superfile
# По желанию, для плагинов, которым это нужно: exiftool для панели
# метаданных, zoxide для умного прыжка по каталогам
sudo apt install libimage-exiftool-perl zoxide
# Проверить установку: команда называется spf, а не superfile
spf --version# Установить последнюю версию superfile
apt install superfile
# По желанию, для плагинов, которым это нужно: exiftool для панели
# метаданных, zoxide для умного прыжка по каталогам
apt install libimage-exiftool-perl zoxide
# Проверить установку: команда называется spf, а не superfile
spf --versionШаг 3: Первый запуск
# Открыть каталог, в котором вы находитесь
spf
# Или начать в другом месте
spf ~/Downloads
# Два пути в командной строке — это две панели
spf ~/src ~/Downloads
# Где лежат конфиг, горячие клавиши, тема, лог и данные
spf path-list
# Внутри superfile клавиша ? открывает полный список клавиш
spf --help🎯 Базовые примеры использования
Запуск:
# Текущий каталог
spf
# Каталог, который вы назвали
spf /var/log
# По панели на каждый путь, открытые рядом
spf ~/src ~/Downloads /mnt/backup
# Попробовать настройки, не трогая свои файлы
spf --config-file /tmp/spf.toml --hotkey-file /tmp/spf-keys.toml
# Какая версия установлена?
spf --versionПоддерживать конфигурацию свежей:
# Добавить поля и клавиши, появившиеся в новом выпуске,
# не трогая то, что вы уже поменяли
spf --fix-config-file
spf --fix-hotkeys
# Вывести все пути, которыми пользуется superfile
spf path-list
# Окружение, терминал и версия для отчёта об ошибке
spf --debug-infoВписать в свою оболочку:
# Поставьте cd_on_quit = true в config.toml и добавьте это в
# ~/.bashrc или ~/.zshrc: выход по Q оставит вас в том каталоге,
# который показывала панель
spf() {
export SPF_LAST_DIR="${XDG_STATE_HOME:-$HOME/.local/state}/superfile/lastdir"
command spf "$@"
[ ! -f "$SPF_LAST_DIR" ] || { . "$SPF_LAST_DIR"; rm -f -- "$SPF_LAST_DIR"; }
}
# Путь, который читает эта функция
spf path-list --lastdir-file
# superfile как выбор файла для другой программы: он записывает
# выбранный путь в файл и завершается
spf --chooser-file /tmp/picked🔧 Интеграции
superfile намеренно оставляет специализированные задачи инструментам, которые у вас уже есть:
- Ваш редактор:
eоткрывает выделенный файл в$EDITOR, аEоткрывает каталог вdir_editor, так что редактором остаётся Neovim или Helix, а superfile остаётся навигатором - zoxide: с
zoxide_support = trueклавишаzпрыгает по той же базе, которую ваша оболочка собирает месяцами - exiftool: с установленным
libimage-exiftool-perlиmetadata = trueпанель метаданных показывает полные поля EXIF и медиа, а не только основное - bat и chroma: предпросмотр подсвечивает встроенный chroma или
bat, если вам ближе его темы и вы указалиcode_previewer = "bat" - Ваш терминал и оболочка: предпросмотр картинок использует графический протокол самого терминала,
xdg-openберёт на себя типы файлов, не описанные в[open_with], аcd_on_quitвозвращает последний каталог в bash, zsh или fish
🚀 Почему стоит выбрать deb.griffo.io?
- Официальный Debian: не содержит superfile —
apt install superfileна стандартной системе не сработает - Сборка из исходников: свежо, но требует тулчейн Go на каждой машине и оставляет бинарник, о котором apt ничего не знает
- Скрипт установки от разработчика: один
curlс superfile.dev, удобно, но он пишет в систему мимо пакетного менеджера, а потом бинарник сам напоминает вам о своих обновлениях - deb.griffo.io: последняя версия с автоматическими обновлениями
- ✅ Единственный источник apt: superfile нет ни в архивах Debian, ни в архивах Ubuntu; этот репозиторий пакует официальный выпуск upstream
- ✅ Команда называется spf: пакет назван superfile, потому что так называется проект, а в PATH он кладёт
/usr/bin/spf— ту самую команду, которой пользуются все руководства и все страницы горячих клавиш - ✅ Автоматические обновления: пакеты обновляются в течение нескольких часов после релиза upstream, так что
auto_check_updateможно выключить и оставить проверку apt - ✅ Полный пакет: официальная сборка upstream для Linux, установленная как
/usr/bin/spf, ничего не добавлено и не пропатчено - ✅ Честные зависимости: самому бинарнику не нужно ничего,
xdg-utilsлишь рекомендуется, а exiftool, zoxide, ffmpeg, poppler-utils и инструмент для буфера обмена предложены для тех необязательных возможностей, которые их используют - ✅ Две архитектуры: amd64 и arm64, оба статически слинкованные бинарники на Go, поэтому один и тот же пакет работает на любом выпуске
- ✅ Много дистрибутивов: работает на Bookworm, Trixie, Forky и Sid
- ✅ Простое обслуживание: обновления обычными командами apt
📦 Репозиторий сборки пакета
Пакеты для Debian собираются и поддерживаются автоматически в этом репозитории GitHub:
- 🗂️ superfile-debian - Сборки последних выпусков
🔗 Похожие пакеты
Также доступны в deb.griffo.io:
- Yazi - Второй терминальный файловый менеджер здесь, если вам ближе одна панель и плагины на Lua
- zoxide - База переходов, стоящая за клавишей
zв superfile - eza - Современный ls для тех списков, ради которых не стоит открывать файловый менеджер
- fzf Fuzzy Finder - Нечёткий поиск для всего, что начинается в приглашении оболочки
mv.