Navi: интерактивный помощник для работы с командами в Linux
Часто ли вы ловите себя на том, что забыли сложный флаг ffmpeg или не можете вспомнить точный синтаксис команды для работы с Docker? Постоянное переключение на man или поиск ответов в Google неизбежно снижают концентрацию и замедляют рабочий процесс.
Что такое Navi?
Navi — это интерактивный справочник по командам для терминала, который превращает ваши шпаргалки в удобный интерактивный интерфейс. Инструмент не просто отображает примеры команд: он позволяет задавать параметры, динамически подставляет их в нужные места и готов выполнить команду мгновенно. Navi работает в связке с инструментами фильтрации fzf или skim.
Установка
Вы можете установить Navi, выбрав подходящий способ для вашей ОС:
# macOS
brew install navi
# Arch Linux
sudo pacman -S navi
# Через скрипт (универсально)
bash <(curl -sL https://raw.githubusercontent.com/denisidoro/navi/master/scripts/install)
Базовое использование
Инструмент крайне прост в освоении. Основные команды для взаимодействия:
# Запустить интерактивный поиск по шпаргалкам
navi
# Поиск по конкретному тегу (например, docker)
navi search docker
Принцип работы на практике
Допустим, вам нужно заархивировать директорию. Вы выбираете команду tar из списка, и Navi уточняет: «Какой файл архивировать?». Вы вводите имя, а утилита автоматически подставляет его в конструкцию tar czf archive.tar.gz <ваш_файл>.
Ключевые возможности
- Интеллектуальная подстановка аргументов: Команда вида
git commit -m "<message>"превращается в диалог, где Navi просит ввести сообщение коммита, избавляя от ручного редактирования строки. - Собственные шпаргалки: Вы можете создавать свои наборы команд в файле
~/.cheat. Формат максимально прост и интуитивно понятен. - Интеграция с терминалом: Вы можете привязать вызов Navi к горячей клавише (например,
Ctrl+G), чтобы получать доступ к подсказкам непосредственно в процессе набора команды.
Преимущества и ограничения
Плюсы:
- Разгрузка памяти: Вам больше не нужно помнить синтаксис редких утилит.
- Экономия времени: Вы перестаете отвлекаться на браузер для поиска примеров.
- Интерактивность: Утилита сама запрашивает необходимые переменные.
- Библиотека: Доступны готовые репозитории с популярными командами для большинства инструментов системного администрирования.
Минусы:
- Инструмент не заменяет глубокого понимания того, что делает команда.
- Зависит от
fzf(хотя установка происходит автоматически).
Когда использовать Navi?
navi: для быстрого доступа к редко используемым или сложным командам.alias: для ежедневных рутинных операций.man: когда требуется детальное описание всех ключей, а не просто рабочий пример.
Больше информации доступно на GitHub проекта. С Navi ваши шпаргалки по ffmpeg, kubectl или openssl всегда будут под рукой и готовы к выполнению.