Что такое ripgrep?
ripgrep (команда rg) — это построчный инструмент поиска, написанный на Rust Эндрю Галлантом. Он рекурсивно ищет в текущем каталоге по регулярному выражению, соблюдая правила .gitignore и автоматически пропуская скрытые, игнорируемые и бинарные файлы. Это поисковый движок, лежащий в основе редакторов вроде VS Code, и он обычно быстрее, чем GNU grep, The Silver Searcher и ack.
--engine auto для прозрачного переключения на PCRE2, более богатый вывод --json и стабильный рост производительности движка регулярных выражений. Версия из архива старше большинства из этого.
⚡ Ключевые возможности ripgrep
🚀 Очень быстрый
Движок регулярных выражений на конечных автоматах, SIMD-поиск литералов, отображение файлов в память и параллельный обход каталогов делают его быстрее grep на больших деревьях.
🙈 Учитывает .gitignore
По умолчанию пропускает игнорируемые, скрытые и бинарные файлы, поэтому в результатах только то, что вам нужно. Отключается через -u, -uu или -uuu.
🌍 Полная поддержка Unicode
Поддержка Unicode по умолчанию — классы символов, регистр, границы слов и графемы работают корректно и практически без потери скорости.
🧩 Регулярные выражения PCRE2
-P включает опережающие/ретроспективные проверки и обратные ссылки. В этой сборке PCRE2 скомпилирован внутрь, поэтому всё работает сразу и с JIT.
📄 Фильтрация по типу файлов
Ограничьте поиск языком через -t rust, исключите через -T html или задайте свои типы. Встроено более 800 шаблонов.
🔁 Многострочный поиск и замена
Ищите через границы строк с -U, просматривайте замены с -r и выводите структурированные результаты через --json.
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 updateШаг 2: Установить ripgrep
# Установить последнюю версию ripgrep
sudo apt install ripgrep
# Проверить установку
rg --version# Установить последнюю версию ripgrep
apt install ripgrep
# Проверить установку
rg --versionШаг 3: Автодополнение оболочки
# Автодополнение для bash, zsh и fish входит в пакет —
# настраивать ничего не нужно. Откройте новую оболочку и нажмите Tab:
rg --ty<Tab>
# Страница руководства тоже устанавливается
man rg🎯 Примеры базового использования
Повседневный поиск:
# Поиск по текущему дереву каталогов
rg 'TODO'
# Без учёта регистра, целое слово
rg -i -w 'timeout'
# Показать 3 строки контекста вокруг совпадения
rg -C 3 'panic!'
# Вывести только файлы с совпадениями
rg -l 'BurntSushi'Ограничение области поиска:
# Только файлы Rust
rg -t rust 'unsafe'
# Всё, кроме HTML и CSS
rg -T html -T css 'font-size'
# Включить игнорируемые и скрытые файлы
rg -uu 'password'
# Ограничить шаблоном glob
rg -g '*.toml' 'version'Больше, чем grep:
# Проверки и обратные ссылки через PCRE2
rg -P '(?<=fn )\w+' src/
# Поиск через границы строк
rg -U 'struct \w+ \{\n[^}]*pub'
# Предпросмотр замены (файлы не изменяются)
rg 'v(\d+)\.(\d+)' -r 'v$1.$2.0'
# Структурированный вывод для скриптов
rg --json 'error' | jq -r 'select(.type=="match") | .data.path.text'🔧 Интеграции
ripgrep — поисковый бэкенд, на который рассчитывают многие другие инструменты:
- fzf: интерактивный grep с живой перезагрузкой и
rgв качестве источника - Neovim / Telescope:
live_grepиспользует ripgrep, если он есть в PATH - Helix: глобальный поиск построен на тех же библиотеках
- bat: предпросмотр совпадений с подсветкой синтаксиса
- Yazi: поиск в файловом менеджере на основе ripgrep
🚀 Почему стоит выбрать deb.griffo.io?
- Официальный Debian: доступен, но заморожен на версии, вышедшей вместе с релизом
- Ручная установка: требует набора инструментов Rust или ручного управления бинарником и автодополнениями
- deb.griffo.io: последняя версия с автоматическими обновлениями
- ✅ Свежие возможности: новейшие опции, улучшения движка и работа над производительностью
- ✅ Без ручной настройки: готовые бинарники, сборка через cargo не нужна
- ✅ Автоматические обновления: пакеты обновляются через несколько часов после релизов upstream
- ✅ Полный пакет:
rg, страница руководстваrg.1и автодополнения для bash/zsh/fish - ✅ Без зависимостей: статически слинкованная сборка musl со встроенным PCRE2
- ✅ Много дистрибутивов: работает на Bookworm, Trixie, Forky и Sid
- ✅ Простое обслуживание: стандартные команды apt для обновления
📦 Репозиторий сборки пакета
Пакеты для Debian собираются и поддерживаются автоматически в этом репозитории GitHub:
- 🔎 ripgrep-debian - Сборки последних релизов
🔗 Связанные пакеты
Также доступны в deb.griffo.io:
- fzf - Нечёткий поиск, отлично сочетающийся с ripgrep для интерактивного поиска
- eza - Современная замена ls
- zoxide - Умная команда cd
- Yazi - Использует ripgrep для поиска файлов
.gitignore; редакторов и инструментов, вызывающих rg; и пользователей, которым важна скорость поиска по большим деревьям каталогов.