Что это такое
fzf — консольный инструмент нечеткого поиска. Он берет список строк из stdin, показывает интерактивный поиск и возвращает выбранную строку. За счет этого fzf легко встраивается в shell, редакторы, Git-сценарии и любые команды, которые выводят текст.
Смысл проекта в универсальности. Это не только «поиск файлов», а маленький интерактивный слой выбора: файл, команда из истории, ветка Git, процесс, результат `rg`, директория или запись из собственного скрипта.
Что внутри
В репозитории — Go-код fzf, shell integration, key bindings, Vim/Neovim plugin, документация по установке через Homebrew, пакеты Linux/Windows, бинарные релизы, режимы отображения, search syntax и множество примеров.
Практический сценарий: передать список в fzf, выбрать строку и использовать ее дальше. Именно pipe-модель делает инструмент гибким: он не требует знать предметную область, ему достаточно списка вариантов.
Выбор файла через fzf
Команда показывает принцип: список файлов попадает в fzf, пользователь выбирает один, затем результат можно передать другой команде.
selected=$(find . -type f | fzf)
$EDITOR "$selected"
Сильные стороны и ограничения
Сильная сторона — композиционность Unix-стиля. fzf хорошо сочетается с `find`, `rg`, `git`, `ps`, `kubectl` и собственными скриптами, добавляя интерактивность без большого приложения.
Ограничение — терминальная модель. Пользователю нужно комфортно жить в командной оболочке и понимать конвейеры команд. Для визуального файлового менеджера или сложной навигации с предпросмотром fzf часто требует настройки.