Что такое fzf?
fzf — это универсальный нечёткий поиск для командной строки, написанный на Go Джуне Чоем. Это интерактивная программа-фильтр для любого вида списков — файлов, истории команд, процессов, хостов, закладок, коммитов Git и многого другого. Набрав более 72 тысяч звёзд на GitHub, он стал незаменимым инструментом для продуктивной работы в командной строке.
⚡ Ключевые возможности fzf
📦 Портабельный и быстрый
Дистрибутив в виде единого бинарного файла с молниеносной производительностью. Мгновенно обрабатывает миллионы элементов с оптимизированной реализацией на Go.
🛠️ Чрезвычайно универсальный
Полностью настраиваемый через механизм привязки событий к действиям. Работает с любым видом ввода списков — файлами, процессами, командами и т.д.
🔋 Интеграция с оболочкой
Встроенная интеграция с bash, zsh и fish. Включает привязки клавиш для поиска файлов (Ctrl-T), истории команд (Ctrl-R) и навигации по директориям (Alt-C).
🖼️ Окно предпросмотра
Предпросмотр файлов, изображений и содержимого в реальном времени. Поддерживает подсветку синтаксиса, отображение изображений и пользовательские команды предпросмотра.
🎨 Широкая настройка
Несколько режимов отображения, цветовые схемы, параметры макета и предустановки стилей. Доступна интерактивная площадка для настройки тем.
🔌 Интеграция с редакторами
Доступны плагины для Vim и Neovim. Бесшовная интеграция с популярными редакторами и рабочими процессами разработки.
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🆓 Есть вечно бесплатное зеркало. deb-free.griffo.io раздаёт пакеты бесплатно навсегда — без аккаунта, без подписки, не более 2 месяцев позади upstream, исправления безопасности сразу. Сейчас там cliamp, Ghostty, lazydocker, Oh My Posh и Zed; fzf среди них нет, поэтому репозиторий выше — единственный способ установить его сегодня; попросите, и его можно добавить.
Шаг 2: Установить fzf
# Install latest fzf
sudo apt install fzf
# Проверить установку
fzf --version# Install latest fzf
apt install fzf
# Проверить установку
fzf --versionШаг 3: Настроить интеграцию с оболочкой
# Для пользователей bash
echo 'eval "$(fzf --bash)"' >> ~/.bashrc
# Для пользователей zsh
echo 'source <(fzf --zsh)' >> ~/.zshrc
# Для пользователей fish
echo 'fzf --fish | source' >> ~/.config/fish/config.fish
# Перезагрузить оболочку
source ~/.bashrc # или ~/.zshrc🎯 Примеры базового использования
Интерактивный поиск файлов:
# Find and edit files
vim $(fzf)
# Find files with preview
fzf --preview 'cat {}'
# Find files with syntax highlighting
fzf --preview 'bat --color=always {}'Сочетания клавиш интеграции с оболочкой:
# Ctrl-T: Find files and directories
# Type any command, then press Ctrl-T to insert selected files
# Ctrl-R: Search command history
# Press Ctrl-R to search and select from command history
# Alt-C: Change directory
# Press Alt-C to fuzzy find and cd into directoriesРасширенное использование:
# Search processes and kill
ps aux | fzf | awk '{print $2}' | xargs kill
# Search git commits
git log --oneline | fzf | awk '{print $1}' | xargs git show
# Interactive ripgrep
rg --color=always --line-number . | fzf --ansi
# Multi-select mode
find . -type f | fzf -m🔧 Интеграции с инструментами
fzf отлично работает с другими современными инструментами командной строки:
- fd: Использование в качестве источника файлов с соблюдением .gitignore
- ripgrep: Интерактивный grep с живой перезагрузкой
- bat: Предпросмотр файлов с подсветкой синтаксиса
- eza: Улучшенное отображение файлов с фильтрацией fzf
- zoxide: Умные прыжки по директориям с нечётким поиском
🚀 Почему стоит выбрать deb.griffo.io?
- Официальный Ubuntu: Доступен, но часто устаревшие версии
- Ручная установка: Требует цепочки инструментов Go или ручного управления бинарными файлами
- deb.griffo.io: Последняя версия с автоматическими обновлениями
- ✅ Последние функции: Получайте новейшие функции fzf и улучшения производительности
- ✅ Без ручной настройки: Готовые бинарные файлы, компиляция Go не нужна
- ✅ Автоматические обновления: Пакеты обновляются в течение нескольких часов после выхода апстрима
- ✅ Полный пакет: Включает скрипты интеграции с оболочками и документацию
- ✅ Мульти-дистрибутив: Работает на Jammy и Noble
- ✅ Простое обслуживание: Стандартные команды apt для обновлений
📦 Репозиторий сборки пакетов
Пакеты Ubuntu собираются и поддерживаются автоматически в этом репозитории GitHub:
- 🔍 fzf-debian — сборки последних релизов
🔗 Связанные пакеты
Также доступны из deb.griffo.io:
- eza — современная замена ls (отлично работает с fzf)
- Yazi File Manager — интегрируется с fzf для поиска файлов
- zoxide — умная команда cd (работает с fzf)