рекомендации

четверг, 5 марта 2020 г.

Fzf - быстрый нечеткий поиск файлов из терминала Linux

Fzf - крошечный, молниеносный, универсальный и кросс-платформенный нечеткий инструмент командной строки, который помогает вам быстро искать и открывать файлы в операционных системах Linux и Windows. Он переносим без каких-либо зависимостей и имеет гибкий интерфейс с поддержкой плагина Vim/Neovim, привязки клавиш и нечеткое автозаполнение.

Приведенный ниже GIF показывает, как он работает.



Чтобы установить Fzf, вам нужно скопировать git-репозиторий fzf в любой каталог и запустить скрипт установки.

$ git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
$ cd ~/.fzf/
$ ./install
После запуска скрипта вам будет предложено включить нечеткое автозаполнение, привязки клавиш и обновить файл конфигурации оболочки. Ответьте y на вопросы, как показано на следующем снимке экрана.



В Fedora 26 и выше, и в Arch Linux вы можете установить его с помощью менеджера пакетов, как показано ниже.
$ sudo dnf install fzf #Fedora 26+
$ sudo pacman -S fzf #Arch Linux 
Теперь, когда вы установили fzf, вы можете начать использовать его. Когда вы запустите fzf, он откроет интерактивный поиск; он читает список файлов из стандартного ввода и записывает выбранный элемент в стандартный вывод.

Просто введите в приглашении имя файла, который вы ищете. Когда вы найдете его, нажмите Enter, и относительный путь к файлу будет напечатан на стандартный вывод.
$ fzf

Кроме того, вы можете сохранить относительный путь к файлу, который вы ищете, в именованный файл и просмотреть содержимое файла с помощью такой утилиты, как cat или bcat.
$ fzf >file
$ cat file
ИЛИ
$ bat file
Вы также можете использовать ее, например, вместе с командой find.
$ find ./bin/ -type f | fzf >file
$ cat file
Как использовать нечеткое завершение в Bash и Zsh

Чтобы вызвать нечеткое завершение для файлов и каталогов, добавьте символы ** в качестве последовательности запуска.
$ cat **<Tab>

Вы можете использовать эту функцию при работе с переменными среды в командной строке.
$ unset **<Tab>
$ unalias **<Tab>
$ export **<Tab>

То же самое относится и к командам ssh и telnet для автоматического заполнения имен хостов, которые считываются из /etc/hosts и ~/.ssh/config.
$ ssh **<Tab>


Она также работает с командой kill, но без последовательности запуска, как показано ниже.
$ kill -9 <Tab>


Как включить fzf в качестве плагина Vim

Чтобы включить fzf как плагин vim, добавьте следующую строку в файл конфигурации Vim.
set rtp+=~/.fzf
fzf активно разрабатывается и может быть легко обновлен до последней версии с помощью следующей команды:
$ cd ~/.fzf && git pull && ./install
Чтобы просмотреть полный список вариантов использования, запустите man fzf или посмотрите ее репозиторий Github: https://github.com/junegunn/fzf.

Комментариев нет:

Отправка комментария