Як прокачати Bash підсвічуванням синтаксису, нечітким пошуком та ШІ

Як прокачати Bash підсвічуванням синтаксису, нечітким пошуком та ШІ – ITEDU Blog

Якщо ви регулярно працюєте в Linux, то напевно звикли до стандартного термінала Bash. Десятиліттями за введення та редагування команд у ньому відповідає бібліотека GNU Readline. Вона надійна та перевірена часом, але зараз їй бракує зручності.

Багато розробників і сисадмінів розв’язують цю проблему переходом на Zsh або Fish. Проте це не завжди той варіант, якщо ви працюєте на віддалених серверах або віддаєте перевагу саме Bash.

Саме тому ми розповімо про Flyline — легкий і надшвидкий модуль, написаний мовою Rust та інтегрується прямо в Bash.

Що таке Flyline і як він працює

Flyline — це завантажуваний вбудований модуль для Bash. Він повністю замінює застарілий GNU Readline, перебираючи на себе всі функції зчитування та редагування командного рядка.

Завдяки тому, що Flyline написаний на Rust із використанням бібліотеки Ratatui (створеної для побудови сучасних текстових інтерфейсів), ви отримуєте плавну роботу без затримок.

Основні можливості Flyline

  1. Підсвічування синтаксису в реальному часі
    Якщо ви припуститеся помилки в синтаксисі або конвеєрі, Flyline підкаже про це ще до натискання Enter.
  2. Нечіткий пошук історії
    Аналог популярного інструменту fzf, що працює за комбінацією Ctrl+R.
  3. Автодоповнення та підказки
    Підтягує варіанти з історії прямо під час введення тексту.
  4. Підтримка миші
    Можливість клікати по командному рядку для переміщення курсора та виділення тексту.
  5. Скасування та повтор дій
    Повертає випадково видалені скрипти та інше.
  6. Інтеграція зі штучним інтелектом
    Ви можете описувати завдання простою мовою і ШІ підкаже вам потрібну команду.

Та головною перевагою залишається те, що Flyline працює безпосередньо всередині процесу Bash. Йому не потрібно запускати зовнішні скрипти чи окремі програми кожного разу, коли ви натискаєте клавішу, тому інтерфейс працює максимально швидко.

Як встановити Flyline 

Для стандартного встановлення вам не потрібні права root. Flyline встановлюється в домашній каталог вашого користувача і не змінює системні файли.

Але перед початком переконайтеся, що ваша система відповідає кільком простим вимогам:

  1. Будь-який сучасний дистрибутив Linux (Ubuntu, Debian, Rocky Linux, RHEL тощо).
  2. Bash 4.4 або новіша (перевірити можна командою bash --version).
  3. Утиліта curl. Вона потрібна для завантаження інсталятора.

Якщо ви працюєте на macOS, стандартний Bash там надто застарілий. Вам знадобиться оновити його через Homebrew до сумісної версії, перш ніж ставити Flyline.

Крок 1. Швидке встановлення Flyline

Найпростіший спосіб встановити Flyline — використати офіційний автоматичний скрипт. Він завантажить потрібний бінарний файл під вашу архітектуру й пропише конфігурацію в ~/.bashrc.

Виконайте у своєму терміналі:

curl -sSfL https://raw.githubusercontent.com/HalFrgrd/flyline/master/install.sh | sh

Щоб зміни набрали чинності, перезавантажте конфігурацію Bash або просто відкрийте нове вікно термінала: 

source ~/.bashrc

Тепер Flyline активний і готовий до роботи!

Крок 2. Перевірка та інтерактивний туторіал

Щоб переконатися, що все встановилося коректно, та одразу протестувати нові фічі, запустіть вбудований інтерактивний навчальний курс:

flyline run-tutorial

Туторіал у формі коротких вправ покаже вам, як працює підсвічування, як повертати скасовані команди, використовувати мишу та працювати з нечітким пошуком. Це найкращий спосіб звикнути до нового інструменту за 2 хвилини.

Крок 3. Нечіткий пошук та підтримка миші

Давайте розберемо дві найпопулярніші функції, які змінять ваш щоденний досвід роботи.

1. Нечіткий пошук в історії (Ctrl+R)

Замість того, щоб десятки разів натискати стрілочку вгору або згадувати точний синтаксис довгої команди, натисніть Ctrl+R і введіть пару ключових слів у довільному порядку.

Наприклад, якщо ви шукаєте складну команду роботи з Docker:

Ctrl+R
> docker ps stopped

Flyline знайде відповідну команду з вашої історії, навіть якщо ці слова знаходилися в різних частинах рядка.

2. Підказки та миша

  • Inline-підказки
    Коли ви починаєте вводити команду, Flyline сірим кольором продовжує її на основі вашого досвіду. Натисніть стрілку вправо або End, щоб прийняти підказку.
  • Підтримка миші
    Ви можете клікнути лівою кнопкою миші в будь-якому місці довгої команди, щоб миттєво перемістити туди курсор, або виділити потрібний фрагмент тексту.

Крок 4. Кастомізація промпта

Flyline чудово працює з вашим поточним виглядом командного рядка (PS1). Але окрім цього, він додає підтримку правий-вирівняного промпта (RPS1) та заповнювача між ними (PS1_FILL).

Наприклад, якщо ви хочете бачити стандартне привітання ліворуч, поточний час праворуч, а між ними лінію з дефісів, додайте в ~/.bashrc наступні рядки:

echo 'PS1="\u@\h:\w\$ "' >> ~/.bashrc
echo 'RPS1="\t"' >> ~/.bashrc
echo "PS1_FILL='-'" >> ~/.bashrc
source ~/.bashrc

Час праворуч оновлюється динамічно під час малювання рядка. Якщо вам потрібна більша точність (наприклад, із мілісекундами), можна використати Chrono-формат: 

RPS1='\D{%H:%M:%S.%3f}'

Крок 5. Підключення штучного інтелекту

Одна з найцікавіших фіч Flyline — режим Agent Mode. Він дозволяє вам написати запит розмовною мовою, а ШІ підкаже відповідну Bash-команду.

Спочатку цей режим вимкнений. Щоб налаштувати його, скористайтеся командою flyline set-agent-mode.

Наприклад, якщо ви використовуєте консольний клієнт Claude Code:

flyline set-agent-mode \
  --system-prompt "Be concise. Answer with a JSON array of at most 3 items with objects containing: command and description. Command will be a Bash command." \
  --trigger-prefix 'ai: ' \
  --command 'claude --print'

Після налаштування ви зможете просто вводити в консолі: 

ai: list files older than three days

І отримувати готові варіанти команд.

(Щоб конфігурація збереглася після перезапуску термінала, додайте команду flyline set-agent-mode …до вашого файлу ~/.bashrc).

Як тимчасово вимкнути або видалити Flyline

Якщо вам потрібно тимчасово повернутися до стандартного Readline у поточному сеансі, просто виконайте:

enable -d flyline

Це вимкне Flyline лише для поточного вікна. У новому терміналі він знову буде активним.

Якщо ж ви вирішите повністю видалити Flyline:

  1. Відкрийте ~/.bashrc і видаліть рядок із викликом enable -f .../libflyline.so flyline.
  2. Видаліть папку з бібліотекою: rm -rf ~/.local/lib/flyline/.

Підсумок 

Flyline — це чудовий спосіб освіжити свій Bash і отримати всі переваги сучасних CLI-інструментів без необхідності змінювати звичну оболонку чи встановлювати важелезні фреймворки.

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

Залишити відповідь

Дякуємо, що поділились