Поповніть свій термінал за допомогою fzf

Навігація розлогими списками файлів, копання в історії команд або керування складними репозиторіями Git’а в терміналі може здаватися непосильною задачею, якщо у вас немає fzf, блискавичного нечіткого шукача. Вбудований в Go, fzf змінює спосіб взаємодії з командним рядком, роблячи такі завдання, як пошук файлів або перемикання гілок Git’а, легкими. Для розробників і адміністраторів, які працюють на високопродуктивних VPS або виділених серверах ava.hosting, fzf – це інструмент для підвищення продуктивності. Уявіть, що ви шукаєте файл з назвою application_config_backup.txt на вашому сервері, набравши лише acb-fzfмиттєво звужує пошук. У цьому посібнику ви дізнаєтеся, як встановити, налаштувати і використовувати fzf для оптимізації робочого процесу в середовищі Linux.

Що таке fzf?

fzf – це універсальний нечіткий пошуковик командного рядка, який дозволяє вам інтерактивно фільтрувати списки – файли, історії команд, процеси або гілки Git’а – за допомогою мінімальної кількості натискань клавіш. Його нечітка логіка пошуку означає, що вам не потрібні точні збіги; часто достатньо кількох символів, щоб знайти те, що вам потрібно.

Навіщо використовувати fzf?

  • блискавична швидкість: Пошук у великих масивах даних за мілісекунди.
  • 🧠 Розумне узгодження: знаходить елементи з частковими, неточними даними.
  • 🧩 Безшовна інтеграція: Працює з такими інструментами, як find, rg і git.
  • 🧰 Дружній до оболонки: включає готові прив’язки клавіш для Bash, Zsh та Fish.
  • налаштовується: Налаштуйте його вигляд і поведінку відповідно до ваших потреб.

Встановлення fzf у Linux

1. За допомогою менеджера пакетів

Для швидкого встановлення на сервері ava.hosting:

  • Ubuntu/Debian:
    sudo apt update
    sudo apt install fzf
    
  • Arch Linux/Manjaro:
    sudo pacman -S fzf
    
  • Fedora:
    sudo dnf install fzf
    

2. З GitHub (найновіші функції)

Для отримання найновішої версії:

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

Під час встановлення увімкніть розширення оболонки (прив’язки клавіш та автозавершення) для максимальної зручності. Перезапустіть оболонку або вкажіть джерело вашого профілю (наприклад, source ~/.bashrc).

Приклад: На VPS від ava.hosting встановіть fzf через GitHub, щоб без зусиль шукати файли проекту в /var/www/html.

Основні варіанти використання fzf

1. Пошук файлів

Біжи:

fzf

Відкриє інтерактивний список файлів і каталогів у вашій поточній теці, який можна відфільтрувати у реальному часі.

2. Integrate with find

Пошук файлів:

find . -type f | fzf

3. Використовувати з rg (ripgrep)

Для швидшого пошуку файлів:

rg --files | fzf

Приклад: Використовуйте rg --files | fzf на сервері ava.hosting, щоб знайти певний конфігураційний файл у переповненому каталозі /etc.

4. Історія команд пошуку

Знаходьте і повторно використовуйте минулі команди:

history | fzf

5. Інтеграція з Git’ом

Перегляд журналів коммітів Git’а:

git log --online | fzf

Перемикання гілок:

git checkout $(git branch | fzf)

Кастомні комбінації клавіш та ярлики

Якщо ви увімкнули прив’язку клавіш під час встановлення, скористайтеся нею:

  • Ctrl-T: Вставити вибрані шляхи до файлів за курсором.
  • Ctrl-R: Пошук і виконання історії команд.
  • Alt-C: Інтерактивна зміна каталогів.

Ці комбінації пришвидшують навігацію та виклик команд на вашому сервері ava.hosting.

Налаштування fzf

Покращіть зовнішній вигляд і функціональність fzf, додавши до вашого .bashrc або .zshrc:

export FZF_DEFAULT_OPTS="
  --height 40%
  --layout=reverse
  --border
  --preview 'bat --style=numbers --color=always --line-range :500 {}'
"

Це створить стильний інтерфейс з попереднім переглядом файлів за допомогою bat.

Потужні інтеграції

Поєднуйте fzf з:

  • tmux: Відкрити виділення у нових панелях або вікнах.
  • fd/rg: Прискорити виявлення файлів.
  • nnn/lf/ranger: Вдосконалення файлових менеджерів терміналів.

Висновок

fzf – це обов’язковий інструмент для всіх, хто працює в терміналі, який змінює спосіб навігації файлами, історіями та Git-репозиторіями. Незалежно від того, чи шукаєте ви конфігураційний файл з rg --files | fzf, чи перемикаєте гілки Git’а з git branch | fzf, цей нечіткий пошуковик економить час та зусилля. Наприклад, ви можете використовувати fzf, щоб швидко знайти файл журналу в /var/log на вашому сервері або викликати складну команду розгортання з історії. Інтегрувавши fzf у свій робочий процес, ви зможете досягти неперевершеної ефективності та точності у виконанні термінальних завдань.