Установка Синтаксис Опции Пример работы Дополнительные примеры
Окружение
fzf (fuzzy finder) — это программа для поиска в командной строке, которая позволяет искать файлы, каталоги и другие типы данных. Она сопоставляет вводимые данные с имеющимися и ранжирует результаты по релевантности.
Основные возможности:
fuzzy-поиск — ищет совпадения по неточным введённым данным (например, psql найдёт postgresql);
интерактивный предварительный просмотр — результаты обновляются в реальном времени при вводе;
гибкость — работает с любыми текстовыми данными (файлы, процессы, история команд и т. д.);
функция множественного выбора — позволяет одновременно выбирать несколько элементов;
сочетания клавиш — поддерживает сочетания клавиш, которые упрощают использование и навигацию;
подсветка — выделяет совпадения.
Для установки утилиты выполните команду (потребуются права администратора):
sudo dnf install fzf
Дальнейшая работа в программе выполняется от локального пользователя.
Для вывода версии программы выполните команду:
fzf --version
Утилита доступна для запуска через терминал при помощи команды следующего вида:
fzf [опции]
Основные опции утилиты:
1. Параметры поиска:
-x, --extended — расширенный поиск (включён по умолчанию, +x — отключает расширенный поиск);
-x
--extended
+x
-e, --exact — точное совпадение;
-e
--exact
-i, --ignore-case — регистронезависимый поиск;
-i
--ignore-case
+i, --no-ignore-case — чувствительный к регистру поиск;
+i
--no-ignore-case
--scheme=SCHEME — алгоритм ранжирования;
--scheme=SCHEME
--literal — не нормализовать Unicode-символы при поиске;
--literal
-n, --nth=N — искать только в определённых столбцах;
-n
--nth=N
--with-nth=N — показывать только указанные столбцы;
--with-nth=N
-d, --delimiter=STR — разделитель полей;
-d
--delimiter=STR
+s, --no-sort — не сортировать результаты;
+s
--no-sort
--tac — развернуть порядок вывода;
--tac
--disabled — не выполнять поиск;
--disabled
--tiebreak=CRI — критерии сортировки при равных score.
--tiebreak=CRI
2. Настройки интерфейса:
-m, --multi[=MAX] — мультивыбор (через Tab / Shift+Tab);
-m
--multi[=MAX]
--no-mouse — отключить поддержку мыши;
--no-mouse
--bind=KEYBINDS — кастомные горячие клавиши;
--bind=KEYBINDS
--cycle — циклическая прокрутка;
--cycle
--wrap — перенос длинных строк;
--wrap
--keep-right — показывать конец строки при переполнении;
--keep-right
--scroll-off=N — отступ при прокручивании (сколько строк оставлять сверху/снизу);
--scroll-off=N
--filepath-word — перемещение по словам с учётом/в путях;
--filepath-word
--jump-labels=CHARS — символы для быстрого перехода.
--jump-labels=CHARS
3. Параметры отображения:
--height=HEIGHT[%] — высота окна;
--height=HEIGHT[%]
--layout=LAYOUT — расположение;
--layout=LAYOUT
--border[=STYLE] — стиль рамки;
--border[=STYLE]
--border-label=LABEL — текст на рамке;
--border-label=LABEL
--margin=MARGIN — отступы;
--margin=MARGIN
--padding=PADDING — внутренние отступы;
--padding=PADDING
--info=STYLE — отображение количества результатов;
--info=STYLE
--prompt=STR — изменить приглашение ввода (по умолчанию >);
--prompt=STR
--pointer=STR — символ выделения строки;
--pointer=STR
--header=STR — заголовок над списком;
--header=STR
--header-lines=N — использует первые N строк ввода как фиксированный заголовок.
--header-lines=N
N
4. Настройки оформления:
--ansi — поддержка ANSI-цветов;
--ansi
--color=COLSPEC — цветовая схема;
--color=COLSPEC
--highlight-line — подсвечивать всю текущую строку;
--highlight-line
--no-bold — не использовать жирный текст.
--no-bold
5. Работа с историей:
--history=FILE — файл истории;
--history=FILE
--history-size=N — максимальное число записей (по умолчанию 1000).
--history-size=N
6. Предпросмотр содержимого:
--preview=CMD — команда предпросмотра;
--preview=CMD
--preview-window=OPT — настройки окна предпросмотра:
--preview-window=OPT
right:50%
wrap — перенос строк;
wrap
hidden — скрыть, пока не выбрано;
hidden
border-sharp — стиль рамки.
border-sharp
7. Интеграция и автоматизация:
-q, --query=STR — начать с заданным запросом;
-q
--query=STR
-1, --select-1 — автоматически выбрать единственный результат;
-1
--select-1
-0, --exit-0 — выйти, если нет результатов;
-0
--exit-0
-f, --filter=STR — неинтерактивный режим (фильтрация без UI);
-f
--filter=STR
--print-query — вывести запрос как первую строку вывода;
--print-query
--expect=KEYS — клавиши для дополнительных действий;
--expect=KEYS
--listen=PORT — запустить HTTP-сервер для удалённого управления.
--listen=PORT
8. Дополнительные настройки:
FZF_DEFAULT_COMMAND — команда по умолчанию;
FZF_DEFAULT_COMMAND
FZF_DEFAULT_OPTS — опции по умолчанию.
FZF_DEFAULT_OPTS
Для поиска по файлам введите команду:
fzf
После ввода команды откроется интерактивное окно поиска:
В интерактивном режиме можно выполнять следующие действия:
1. Для поиска файлов начните печатать название файла, fzf будет фильтровать результаты в реальном времени.
Можно вводить неточные совпадения (например, uer найдет user):
2. Для навигации можно использовать:
↑ / ↓ (или Ctrl+P / Ctrl+N) — перемещение по списку;
Enter — выбрать текущий файл и завершить работу fzf (результат передастся в вывод);
Esc / Ctrl+C — выйти без выбора.
3. После выбора файла путь к файлу появится в терминале:
1. Для поиска по каталогам введите команду:
find . -type f | fzf
Вывод команды:
2. Для поиска в истории команд нужной команды выполните:
history | fzf
Выводит список команд из истории и позволяет найти нужную команду.
3. Для поиска файла в каталоге выполните команду:
ls | fzf
Команда выведет список всех файлов в каталоге, а затем с помощью fzf найдите нужный файл.
4. Для просмотра истории команд с переходом в директорию выполните команду:
cd $(find ~ -type d | fzf --height 40% --border)
Дата последнего изменения: 07.07.2025
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.
Нажимая «Отправить запрос», вы соглашаетесь с условиями обработки персональных данных.
Вы будете получать только актуальную информацию по обновлению безопасности
Подписываясь на уведомления, вы соглашаетесь с условиями обработки персональных данных.
На ваш почтовый адрес отправлено письмо с подтверждением подписки.