Часто ли вы ловите себя на том, что забыли сложный флаг 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 всегда будут под рукой и готовы к выполнению.