nnn — компактный консольный файловый менеджер для Unix-подобных операционных систем, разработанный с акцентом на скорость, минимальное потребление памяти и удобство управления файлами в терминале. Проект реализован как лёгкая альтернатива более тяжёлым терминальным менеджерам, предоставляя базовый набор возможностей для навигации, просмотра и управления файлами при минимальном оверхеде. Интерфейс nnn оптимизирован для использования клавиатуры, с быстрыми командами и гибкой конфигурацией через переменные окружения и небольшие конфигурационные файлы.
История разработки связана с потребностью в простом и эффективном инструменте для повседневной работы в CLI: облегчённый размер бинарника и низкие системные требования сделали nnn популярным среди пользователей, работающих на старом оборудовании или в минимальных средах. Программа поддерживает расширение функциональности через плагины и внешние утилиты, что позволяет интегрировать её в различные рабочие процессы, включая массовое переименование, открытие файлов при помощи системного обработчика и монтирование удалённых ресурсов через сторонние инструменты.
- Минимализм и производительность: малое потребление оперативной памяти и высокая скорость отклика при навигации по файловой системе.
- Текстовый интерфейс: работа в терминале с клавиатурными сокращениями и возможностью отображения списка файлов и простой предпросмотр.
- Вкладки (contexts): поддержка нескольких контекстов/вкладок для одновременного управления разными каталогами в рамках одного сеанса.
- Плагины и расширения: механизм подключения пользовательских скриптов и плагинов для добавления функциональности без увеличения основного исполняемого файла.
- Массовое переименование: встроенные или плагинные средства для пакетного переименования файлов с шаблонами и последовательной нумерацией.
- Интеграция с desktop-opener: возможность открывать файлы внешними приложениями через системный обработчик (desktop opener) при запуске из терминала.
- Поддержка удалённых ресурсов: совместимость с инструментами вроде sshfs и другими механизмами монтирования удалённых файловых систем для прозрачной работы с удалёнными данными.
- Конфигурируемость: гибкая настройка клавиш, поведения при запуске и внешних команд через переменные окружения и небольшие конфигурационные файлы.
- Экономия места на диске: небольшие двоичные файлы и минимальные зависимости, что облегчает развёртывание в ограниченных окружениях.
- Универсальность использования: подходит для системных администраторов, разработчиков и пользователей, предпочитающих работу в командной строке.