1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-fzf

Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

fzf - командная строка с нечетким поиском Статус сборки Версия Лицензия Участники Спонсоры Звезды

fzf — это универсальный командный фильтр с нечетким поиском.

Это интерактивная программа фильтрации для любых списков; файлов, истории команд, процессов, хостов, закладок, коммитов Git и т.д. Она реализует алгоритм "нечеткого" поиска, что позволяет быстро вводить шаблоны с пропущенными символами и все равно получать нужные результаты.

Основные особенности

  • 📦 Переносимый — распространяется как единый бинарный файл для простой установки
  • Молниеносно быстрый — оптимизированный код мгновенно обрабатывает миллионы элементов
  • 🛠️ Чрезвычайно гибкий — полностью настраиваемый через механизм привязки событий и действий
  • 🔋 Все включено — включает интеграцию с bash, zsh, fish, Vim и Neovim

Содержание

Установка

Используя Homebrew

Вы можете использовать [Homebrew] (https://brew.sh/) (на macOS или Linux) для установки fzf.

brew install fzf

[!ВАЖНО] Для настройки интеграции с оболочкой (сочетания клавиш и нечеткое завершение), см. [инструкции ниже] (#настройка-интеграции-с-оболочкой).

fzf также доступен через MacPorts: sudo port install fzf

Пакеты для Linux

Диспетчер пакетов Линукс дистрибутив Команда
APK Alpine Linux sudo apk add fzf
APT Debian 9+/Ubuntu 19.10+ sudo apt install fzf
Conda conda install -c conda-forge fzf
DNF Fedora sudo dnf install fzf
Nix NixOS, и т.д. nix-env -iA nixpkgs.fzf
Pacman Arch Linux sudo pacman -S fzf
pkg FreeBSD pkg install fzf
pkgin NetBSD pkgin install fzf
pkg_add OpenBSD pkg_add fzf
Portage Gentoo emerge --ask app-shells/fzf
Spack spack install fzf
XBPS Void Linux sudo xbps-install -S fzf
Zypper openSUSE sudo zypper install fzf

[!ВАЖНО] Для настройки интеграции с оболочкой (сочетания клавиш и нечеткое завершение), см. [инструкции ниже] (#настройка-интеграции-с-оболочкой).

Статус упаковки

Пакеты для Windows

На Windows, fzf доступен через Chocolatey, Scoop, Winget и MSYS2:

Диспетчер пакетов Команда
Chocolatey choco install fzf
Scoop scoop install fzf
Winget winget install fzf
MSYS2 (pacman) pacman -S $MINGW_PACKAGE_PREFIX-fzf

Используя git

Альтернативно, вы можете "git clone" этот репозиторий в любую директорию и запустить скрипт установки.

git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
~/.fzf/install

Скрипт установки добавит строки в ваш файл конфигурации оболочки для изменения $PATH и настройки интеграции с оболочкой.

Бинарные релизы

Вы можете скачать официальные бинарные файлы fzf со страницы релизов.

Настройка интеграции с оболочкой

Добавьте следующую строку в ваш файл конфигурации оболочки.

  • bash
    # Настройка сочетаний клавиш и нечеткого завершения fzf
    eval "$(fzf --bash)"
  • zsh
    # Настройка сочетаний клавиш и нечеткого завершения fzf
    source <(fzf --zsh)
  • fish
    # Настройка сочетаний клавиш fzf
    fzf --fish | source

[!ЗАМЕТКА] Опции --bash, --zsh и --fish доступны только в версии fzf 0.48.0 или новее. Если у вас старая версия fzf или вы хотите более тонкую настройку, вы можете подключить отдельные скрипты в директории [/shell]. Расположение файлов может различаться в зависимости от используемого диспетчера пакетов. Подробнее см. документацию пакета (например, apt show fzf).

[!СОВЕТ] Вы можете отключить связку CTRL-T или ALT-C, установив FZF_CTRL_T_COMMAND или FZF_ALT_C_COMMAND в пустую строку при подключении скрипта. Например, чтобы отключить связку ALT-C:

  • bash: FZF_ALT_C_COMMAND= eval "$(fzf --bash)"
  • zsh: FZF_ALT_C_COMMAND= source <(fzf --zsh)
  • fish: fzf --fish | FZF_ALT_C_COMMAND= source

Установка переменных после подключения скрипта не будет иметь эффекта.

Плагин для Vim/Neovim

Если вы используете [vim-plug], добавьте следующее в ваш файл конфигурации Vim:

Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }
Plug 'junegunn/fzf.vim'
  • junegunn/fzf предоставляет базовые функции библиотеки
    • fzf#install() гарантирует, что у вас последняя версия бинарного файла
  • junegunn/fzf.vim — это отдельный проект, который предоставляет множество полезных команд

Для получения дополнительной информации о интеграции с Vim см. файл README-VIM.md.

[!СОВЕТ] Если вы используете Neovim и предпочитаете плагины на Lua, ознакомьтесь с проектом [fzf-lua].

Обновление fzf

fzf активно развивается, и вам может потребоваться время от времени его обновить. Пожалуйста, следуйте инструкциям ниже в зависимости от метода установки.

  • git: cd ~/.fzf && git pull && ./install
  • brew: brew update; brew upgrade fzf
  • macports: sudo port upgrade fzf
  • chocolatey: choco upgrade fzf
  • vim-plug: :PlugUpdate fzf

Сборка fzf

Для подробностей см. файл BUILD.md.

Использование

fzf запускает интерактивный фильтр, читает список из STDIN и записывает выбранный элемент в STDOUT.

find * -type f | fzf > selected

Без пайпа STDIN, fzf будет обходить файловую систему в текущей директории для получения списка файлов.

vim $(fzf)

[!ЗАМЕТКА] Вы можете переопределить поведение по умолчанию:

  • Либо установив $FZF_DEFAULT_COMMAND на команду, которая генерирует нужный список
  • Либо установив опции --walker, --walker-root, и --walker-skip в $FZF_DEFAULT_OPTS

[!ПРЕДУПРЕЖДЕНИЕ] Более надежное решение — использовать xargs, но мы представили вышеупомянутое решение, так как оно проще для понимания.

fzf --print0 | xargs -0 -o vim

[!СОВЕТ] fzf также имеет возможность преобразовать себя в другой процесс.

fzf --bind 'enter:become(vim {})'

Подробнее см. раздел [Преобразование в другой процесс] (#преобразование-в-другой-процесс).

Использование фильтра

  • CTRL-K / CTRL-J (или CTRL-P / CTRL-N) для перемещения курсора вверх и вниз
  • Клавиша Enter для выбора элемента, CTRL-C / CTRL-G / ESC для выхода
  • В режиме многоэлементного выбора (-m), TAB и Shift-TAB для отметки нескольких элементов
  • Сочетания клавиш стиля Emacs
  • Мышка: прокрутка, щелчок, двойной щелчок; Shift-click и Shift-scroll в режиме многоэлементного выбора

Режимы отображения

По умолчанию fzf работает в полноэкранном режиме, но есть другие режимы отображения.

Режим --height

С опцией --height HEIGHT[%], fzf начнет под курсором с заданной высотой.

fzf --height 40%

Опции reverse layout и --border хорошо сочетаются с этой опцией.

fzf --height 40% --layout reverse --border

Добавив символ ~ перед высотой, вы устанавливаете максимальную высоту.

# Будет занимать минимальное количество строк для отображения списка
seq 3 | fzf --height ~100%
seq 3000 | fzf --height ~100%

Значение высоты может быть отрицательным числом.

# Высота экрана - 3
fzf --height -3

Режим --tmux

С опцией --tmux, fzf начнет в попапе tmux.

# --tmux [center|top|bottom|left|right][,SIZE[%]][,SIZE[%][,border-native]]

fzf --tmux center         # Центр, 50% ширины и высоты
fzf --tmux 80%            # Центр, 80% ширины и высоты
fzf --tmux 100%,50%       # Центр, 100% ширины и 50% высоты
fzf --tmux left,40%       # Слева, 40% ширины
fzf --tmux left,40%,90%   # Слева, 40% ширины, 90% высоты
fzf --tmux top,40%        # Сверху, 40% высоты
fzf --tmux bottom,80%,40% # Снизу, 80% высоты, 40% высоты

Опция --tmux игнорируется, если вы не находитесь в tmux.

[!ЗАМЕТКА] Если у вас старая версия tmux, которая не поддерживает попапы, или если вы хотите открыть fzf в обычном панели tmux, ознакомьтесь со скриптом [fzf-tmux].

[!СОВЕТ] Вы можете добавить эти опции в $FZF_DEFAULT_OPTS, чтобы они применялись по умолчанию. Например,

# Открывать в попапе tmux, если находитесь в tmux, иначе использовать режим --height
export FZF_DEFAULT_OPTS='--height 40% --tmux bottom,40% --layout reverse --border top'

Синтаксис поиска

Если не указано иное, fzf начинает в режиме "расширенного поиска", где вы можете вводить несколько поисковых терминов, разделенных пробелами. Например: ^music .mp3$ sbtrkt !fire

Токен Тип совпадения Описание
sbtrkt Нечеткое совпадение Элементы, которые совпадают с sbtrkt
'wild' Точное совпадение (в кавычках) Элементы, которые содержат wild
'wild' Точное совпадение на границах слов (в кавычках с обеих сторон) Элементы, которые содержат wild на границах слов
^music Точное совпадение префикса Элементы, которые начинаются с music
.mp3$ Точное совпадение суффикса Элементы, которые заканчиваются на .mp3
!fire Обратное точное совпадение Элементы, которые не содержат fire
!^music Обратное точное совпадение префикса Элементы, которые не начинаются с music
!.mp3$ Обратное точное совпадение суффикса Элементы, которые не заканчиваются на .mp3

Если вы не предпочитаете нечеткое совпадение и не хотите "кавычить" каждое слово, запустите fzf с опцией -e или --exact. Обратите внимание, что при установке опции --exact, префикс ' "раскрывает" термин.

Одиночный символ тире (|) действует как оператор OR. Например, следующий запрос соответствует записям, начинающимся с core и заканчивающимся на либо go, либо rb, либо py.

^core go$ | rb$ | py$

Переменные окружения

  • FZF_DEFAULT_COMMAND
    • Команда по умолчанию для использования при входе из терминала
    • Например: export FZF_DEFAULT_COMMAND='fd --type f'
  • FZF_DEFAULT_OPTS
    • Опции по умолчанию
    • Например: export FZF_DEFAULT_OPTS="--layout=reverse --inline-info"
  • FZF_DEFAULT_OPTS_FILE
    • Если вы предпочитаете управлять опциями по умолчанию в файле, установите эту переменную на путь к файлу.
    • Например: export FZF_DEFAULT_OPTS_FILE=~/.fzfrc

[!ПРЕДУПРЕЖДЕНИЕ] Переменная $FZF_DEFAULT_COMMAND не используется интеграцией с оболочкой из-за небольших различий в требованиях.

  • CTRL-T выполняет $FZF_CTRL_T_COMMAND, чтобы получить список файлов и директорий
  • ALT-C выполняет $FZF_ALT_C_COMMAND, чтобы получить список директорий
  • vim ~/**<tab> выполняет функцию f zf_compgen_path() с префиксом (~/) как первым аргументом
  • cd foo**<tab> выполняет функцию f zf_compgen_dir() с префиксом (foo) как первым аргументом

Доступные опции описаны далее в этом документе.

Настройка внешнего вида

Пользовательский интерфейс fzf полностью настраиваемый с большим количеством опций конфигурации. Для быстрой настройки вы можете начать с одного из предустановленных стилей — default, full, или minimal — используя опцию --style.

f zf --style full \
    --preview 'f zf-preview.sh {}' --bind 'focus:transform-header:file --brief {}'
Предустановленный стиль Скриншот
default
full
minimal

Вот пример на основе предустановленного стиля full:

git ls-files | f zf --style full \
    --border --padding 1,2 \
    --border-label ' Demo ' --input-label ' Input ' --header-label ' File Type ' \
    --preview 'f zf-preview.sh {}' \
    --bind 'result:transform-list-label:
        if [[ -z $FZF_QUERY ]]; then
          echo " $FZF_MATCH_COUNT items "
        else
          echo " $FZF_MATCH_COUNT matches for [$FZF_QUERY] "
        fi
        ' \
    --bind 'focus:transform-preview-label:[[ -n {} ]] && printf " Previewing [%s] " {}' \
    --bind 'focus:+transform-header:file --brief {} || echo "No file selected"' \
    --bind 'ctrl-r:change-list-label( Reloading the list )+reload(sleep 2; git ls-files)' \
    --color 'border:#aaaaaa,label:#cccccc' \
    --color 'preview-border:#9999cc,preview-label:#ccccff' \
    --color 'list-border:#669966,list-label:#99cc99' \
    --color 'input-border:#996666,input-label:#ffcccc' \
    --color 'header-border:#6699cc,header-label:#99ccff'

Опции

Для полного списка опций см. страницу руководства (f zf --man или man f zf).

Демонстрация

Если вы предпочитаете учиться по видео, ознакомьтесь с этим видеороликом от [@samoshkin], чтобы узнать о возможностях f zf.

Примеры

  • [Вики страница с примерами](https://github.com/junegunn/f zf/wiki/examples)
    • Дисклеймер: Примеры на этой странице поддерживаются сообществом и не прошли тщательное тестирование
  • [Расширенные примеры использования f zf](https://github.com/junegunn/f zf/blob/master/ADVANCED.md)

Клавиатурные сочетания для командной строки

После настройки интеграции с оболочкой ([настройка интеграции с оболочкой] (#настройка-интеграции-с-оболочкой)), вы можете использовать следующие клавиатурные сочетания в bash, zsh и fish.

  • CTRL-T — Вставить выбранные файлы и директории на командную строку.
    • Список генерируется с использованием опции --walker file,dir,follow,hidden.
      • Вы можете переопределить это поведение, установив переменную $FZF_CTRL_T_COMMAND на пользовательскую команду.
      • Или вы можете установить опции --walker* в переменной $FZF_CTRL_T_OPTS.
    • Установите переменную $FZF_CTRL_T_OPTS, чтобы передать дополнительные опции в f zf.
      # Предварительный просмотр содержимого файла с помощью bat (https://github.com/sharkdp/bat)
      export FZF_CTRL_T_OPTS="
        --walker-skip .git,node_modules,target
        --preview 'bat -n --color=always {}'
        --bind 'ctrl-/ :change-preview-window(down hidden )'"
    • Можно отключить это сочетание клавиш, установив переменную $FZF_CTRL_T_COMMAND на пустую строку при подключении скрипта.
  • CTRL-R — Вставить выбранную команду из истории на командную строку.
    • Если вы хотите видеть команды в хронологическом порядке, нажмите CTRL-R еще раз для переключения между релевантностью.
    • Нажмите CTRL-/ или ALT-/ для переключения переноса строки.
    • Установите переменную $FZF_CTRL_R_OPTS, чтобы передать дополнительные опции в f zf.
      # CTRL-Y для копирования команды в буфер обмена с помощью pbcopy.
      export FZF_CTRL_R_OPTS="
        --bind 'ctrl-y:execute-silent(echo -n {2..} pbcopy)+abort'
        --color header:italic
        --header 'Нажмите CTRL-Y для копирования команды в буфер обмена'"
  • ALT-C — Перейти в выбранную директорию.
    • Список геннерируется с использованием опции --walker dir,follow.
    • Установите переменную $FZF_ALT_C_COMMAND, чтобы переопределить команду по умолчанию.
      • Или вы можете установить опции --walker-* в переменной $FZF_ALT_C_OPTS.
    • Установите переменную $FZF_ALT_C_OPTS, чтобы передать дополнительные опции в f zf.
      # Вывод древовидной структуры в окне предварительного просмотра.
      export FZF_ALT_C_OPTS="
        --walker-skip .git,node_modules,target
        --preview 'tree -C {}'"
    • Можно отключить это сочетание клавиш, установив переменную $FZF_ALT_C_COMMAND на пустую строку при подключении скрипта.Режимы отображения для этих сочетаний клавиш можно настроить отдельно через переменные $FZF_{CTRL_T,CTRL_R,ALT_C}_OPTS или глобально через переменную $FZF_DEFAULT_OPTS. (например: $FZF_CTRL_R_OPTS='--tmux bottom,60% height 60% border top')

Больше советов можно найти на странице wiki (https://github.com/junegunn/fzf/wiki/Configuring-shell-key-bindings).

Нечеткое завершение для bash и zsh

Файлы и директории

Нечеткое завершение для файлов и директорий можно вызвать, если слово перед курсором заканчивается последовательностью триггеров, которая по умолчанию равна **.

  • COMMAND [DIRECTORY/][FUZZY_PATTERN]**<TAB>
# Файлы в текущей директории.
# Вы можете выбрать несколько элементов с помощью клавиши TAB.
vim **<TAB>

# Файлы в родительской директории.
vim ../**<TAB>

# Файлы в родительской директории, соответствующие "fzf".
vim ../fzf**<TAB>

# Файлы в домашней директории.
vim ~/**<TAB>

# Директории в текущей директории (одиночный выбор).
cd **<TAB>

# Директории в ~/github, соответствующие "fzf".
cd ~/github/fzf**<TAB>

Идентификаторы процессов

Нечеткое завершение для PID предоставляется для команды kill.

# Можно выбрать несколько процессов с помощью клавиш TAB или Shift-TAB.
kill -9 **<TAB>

Имена хостов

Для команд ssh и telnet предоставляется нечеткое завершение для хостов. Имена извлекаются из /etc/hosts и ~/.ssh/config.

ssh **<TAB>
telnet **<TAB>

Переменные окружения / Алиасы

unset **<TAB>
export **<TAB>
unalias **<TAB>

Настройка опций fzf для завершения

# Использовать ~~ вместо стандартной последовательности **.
export FZF_COMPLETION_TRIGGER='~~'

# Опции для команды fzf.
export FZF_COMPLETION_OPTS='--border info inline'

# Опции для завершения путей (например: vim **<TAB>).
export FZF_COMPLETION_PATH_OPTS='--walker file dir follow hidden'

# Опции для завершения директорий (например: cd **<TAB>).
export FZF_COMPLETION_DIR_OPTS='--walker dir follow'

# Расширенная настройка опций fzf через функцию _fzf_comprun.
_fzf_comprun() {
  local command=$1
  shift

  case "$command" in
    cd)           fzf --preview 'tree -C {} head -200'   "$@" ;;
    export unset) fzf --preview "eval 'echo \$'{}"         "$@" ;;
    ssh)          fzf --preview 'dig {}'                   "$@" ;;
    *)            fzf --preview 'bat -n color always {}' "$@" ;;
  esac
}

Настройка источника завершения для путей и директорий

# Использование fd (https://github.com/sharkdp/fd) для генерации списка путей.
_fzf_compgen_path() {
  fd hidden follow exclude ".git" . "$1"
}

# Использование fd для генерации списка директорий.
_fzf_compgen_dir() {
  fd type d hidden follow exclude ".git" . "$1"
}

Поддерживаемые команды

В bash нечеткое завершение включено только для предопределенного набора команд (выполните команду complete -p | grep _fzf, чтобы увидеть список).

2. Переключение между источниками с помощью нажатия CTRL-D или CTRL-F

FZF_DEFAULT_COMMAND='find . -type f' \
  fzf --bind 'ctrl-d:reload(find . -type d),ctrl-f:reload(eval "$FZF_DEFAULT_COMMAND")' \
      --height=50% --layout=reverse

3. Интерактивная интеграция с ripgrep

Приведенный ниже пример использует fzf в качестве интерфейса выбора для ripgrep. Мы привязали действие reload к событию change, поэтому каждый раз, когда вы вводите текст в fzf, процесс ripgrep перезапускается с обновленной строкой запроса, обозначенной заполнителем {q}. Также обратите внимание, что мы использовали опцию --disabled, чтобы fzf не выполнял никакого вторичного фильтрации.

: | rg_prefix='rg --column --line-number --no-heading --color=always --smart-case' \
    fzf --bind 'start:reload:$rg_prefix ""' \
        --bind 'change:reload:$rg_prefix {q} || true' \
        --bind 'enter:become(vim {1} +{2})' \
        --ansi --disabled \
        --height=50% --layout=reverse

Если ripgrep не находит совпадений, он завершится с ненулевым кодом возврата, и fzf предупредит вас об этом. Чтобы подавить сообщение об ошибке, мы добавили || true к команде, чтобы она всегда завершалась с кодом 0.

См. "Использование fzf как интерактивного запускателя Ripgrep" для более сложных примеров.

Предварительный просмотр

Когда опция --preview установлена, fzf автоматически запускает внешний процесс с текущей строкой в качестве аргумента и показывает результат в разделенном окне. Ваш $SHELL используется для выполнения команды с помощью $SHELL -c COMMAND. Окно можно прокручивать с помощью мыши или пользовательских клавиш.

# {} заменяется на одинарно-закавыченную строку фокусируемой строки
fzf --preview 'cat {}'

Предварительное окно поддерживает цвета ANSI, поэтому вы можете использовать любую программу, которая подсвечивает синтаксис содержимого файла, например, Bat или Highlight:

fzf --preview 'bat --color=always {}' --preview-window '~3'

Вы можете настроить размер, положение и границу предварительного окна с помощью опции --preview-window, а также цвет переднего и заднего плана с помощью опции --color. Например,

fzf --height 40% --layout reverse --info inline --border \
    --preview 'file {}' --preview-window up,1,border-horizontal \
    --bind 'ctrl-/:change-preview-window(50%|hidden|)' \
    --color 'fg:#bbccdd,fg+:#ddeeff,bg:#334455,preview-bg:#223344,border:#778899'

См. страницу руководства (man fzf) для полного списка опций.

Более сложные примеры можно найти здесь.

[!WARNING] Поскольку fzf является универсальным текстовым фильтром, а не поиском файлов, не следует добавлять опцию --preview в ваш $FZF_DEFAULT_OPTS.

# *********************
# ** НЕ ДЕЛАЙТЕ ЭТО! **
# *********************
export FZF_DEFAULT_OPTS='--preview "bat --style=numbers --color=always --line-range :500 {}"'

# bat не работает с любым входом, кроме списка файлов
ps -ef | fzf
seq 100 | fzf
history | fzf

Предварительный просмотр изображения

fzf может отображать изображения в предварительном окне с использованием одного из следующих протоколов:

См. скрипт bin/fzf-preview.sh для получения дополнительной информации.

fzf --preview 'fzf-preview.sh {}'

Советы

Уважение к .gitignore

Вы можете использовать fd, ripgrep или the silver searcher для обхода файловой системы с учетом .gitignore.

# Передайте вывод fd в fzf
fd --type f --strip-cwd-prefix | fzf

# Установите fd как источник по умолчанию для fzf
export FZF_DEFAULT_COMMAND='fd --type f --strip-cwd-prefix'

# Теперь fzf (без конвейера) будет использовать команду fd для генерации списка
fzf

# Чтобы применить команду к CTRL-T также
export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND"

Если вы хотите, чтобы команда следовала символическим ссылкам и не исключала скрытые файлы, используйте следующую команду:

export FZF_DEFAULT_COMMAND='fd --type f --strip-cwd-prefix --hidden --follow --exclude .git'

Оболочка Fish

Клавиша CTRL-T в fish, в отличие от bash и zsh, будет использовать последний токен на командной строке в качестве корневого каталога для рекурсивного поиска. Например, нажатие CTRL-T в конце следующей командной строки

ls /var/

покажет все файлы и директории под /var/.

При использовании пользовательской FZF_CTRL_T_COMMAND используйте неразвернутую переменную $dir, чтобы воспользоваться этой функцией. $dir по умолчанию равен . при условии, что последний токен не является допустимым каталогом. Пример:

set -g FZF_CTRL_T_COMMAND "command find -L \$dir -type f 2> /dev/null | sed '1d; s#^\./##'"

Песочница тем fzf

fzf Theme Playground создана Vitor Mello — это веб-страница, где вы можете интерактивно создавать темы для fzf.

Связанные проекты

https://github.com/junegunn/fzf/wiki/Related-projects

Лицензия

The MIT License (MIT)

Copyright (c) 2013-2024 Junegunn Choi

Спонсоры :heart:

Я хотел бы поблагодарить всех спонсоров этого проекта, благодаря которым мне удается продолжать его развитие.

Если вы хотите поддержать этот проект, пожалуйста, посетите https://github.com/sponsors/junegunn.

User avatar: miyanokomiyaUser avatar: Jon GjengsetUser avatar: Kyle L. DavisUser avatar: Frederick ZhangUser avatar: Moritz DietzUser avatar: Mikkel MalmbergUser avatar: Pierre DubouilhUser avatar: Fulvio ScapinUser avatar: Ryan Roden-CorrentUser avatar: Jordan ArentsenUser avatar: Alex ViscreanuUser avatar: David BalateroUser avatar: User avatar: Ben ElanUser avatar: Paweł DudaUser avatar: Damien RajonUser avatar: ArtBITUser avatar: User avatar: HovisUser avatar: Darius JondaUser avatar: Cristian DominguezUser avatar: Chang-Hung LiangUser avatar: Ben LechlitnerUser avatar: Takumi KAGIYAMAUser avatar: Paul OLeary McCannUser avatar: Robert BeegerUser avatar: Josh ScalisiUser avatar: Alec ScottUser avatar: Artur SapekUser avatar: Guillaume GelinUser avatar: User avatar: Rob LevyUser avatar: Gloria ZhaoUser avatar: Markus KollerJetBrains supports this project with an Open Source Development License.

Логотип JetBrains.

JetBrains поддерживает этот проект лицензией для разработки открытого исходного кода.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

fzf — это универсальный командный линейный инструмент для поиска посредством фильтрации. Это интерактивный Unix-фильтр для командной строки, который может использоваться для поиска различных ресурсов, включая файлы, историю команд, процессы, имена хостов, закладки и коммиты Git. Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/mirrors-fzf.git
git@api.gitlife.ru:oschina-mirror/mirrors-fzf.git
oschina-mirror
mirrors-fzf
mirrors-fzf
master