Якщо ви прагнете, щоб кольорове виділення на ваших сторінках довідки виглядало подібно до підсвічування синтаксису в редакторах коду, існує два прості шляхи досягнення цієї мети. Ми розглянемо обидва варіанти!
Кольорове підсвічування
Кольорове підсвічування тексту робить читання простішим та ефективнішим. Воно допомагає важливим деталям виділятися на фоні іншого тексту, щоб ви випадково не пропустили їх. Більшість сучасних редакторів коду мають функцію підсвічування синтаксису, де кольори використовуються для розрізнення елементів мови програмування. Зарезервовані слова, змінні, рядки та числа виділяються різними кольорами, що полегшує візуальний аналіз коду.
Застосування цієї функції до сторінок довідки Linux було б дуже корисним. Деякі сторінки керівництва, хоча і є лаконічними, можуть бути великими, густими та важкими для сприйняття. Будь-який спосіб, що полегшує візуальну навігацію, є корисним.
Ми розглянемо два способи кольорового відображення сторінок довідки. Перший метод полягає у використанні альтернативного пейджера, а другий – у передачі набору параметрів команді `less` під час виконання. Найзручніше це зробити, створивши функцію оболонки.
Більшість пейджерів – це засоби перегляду файлів, такі як `more` та `less`, але з розширеними можливостями для обробки дуже широких файлів. Також вони здатні автоматично розфарбовувати сторінки довідки.
Для встановлення `most` на Ubuntu, скористайтесь командою:
sudo apt-get install most
Для встановлення `most` на Fedora, введіть:
sudo dnf install most
Для встановлення `most` на Manjaro, введіть:
sudo pacman -Syu most
Щоб Linux використовував `most` як пейджер за замовчуванням, необхідно встановити значення змінної середовища `PAGER`.
Введіть наступну команду:
export PAGER="most"
Проте, це налаштування буде дійсним лише до закриття вікна терміналу. Щоб зробити зміну постійною, необхідно додати її до файлу `.bashrc` (додайте цей рядок в кінець файлу):
gedit .bashrc
Додайте рядок, збережіть зміни та закрийте редактор.
Щоб зміни у файлі `.bashrc` вступили в силу, закрийте та відкрийте вікно терміналу.
Або, щоб не закривати вікно терміналу, використовуйте команду `source`, яку можна скоротити до крапки (`.`). Це змусить оболонку прочитати вміст зміненого файлу `.bashrc`.
Введіть наступне:
. .bashrc
Кольорові сторінки man
Відкрийте сторінку довідки та подивіться, як вона виглядає:
man grep
Сторінка керівництва відкривається як завжди, але тепер текст підсвічується різними кольорами.
Прокрутіть вниз, щоб побачити, як розфарбовуються різні елементи сторінки.
Використання `most` є дуже схожим на `less`, але є певні відмінності. Для перегляду списку комбінацій клавіш та їх функцій, найчастіше натискайте H.
Використання кольору з `less`
Якщо ви не бажаєте встановлювати інший пейджер або вивчати нові комбінації клавіш, є спосіб змусити `less` відображати кольори. Існує кілька методів, але ми розглянемо найшвидший та найпростіший.
Цей метод використовує кольорові коди Американського національного інституту стандартів (ANSI) для керування екранними ефектами, що були пов’язані з застарілими налаштуваннями termcap.
Раніше їх використовували для визначення того, як комп’ютерні термінали різних марок та моделей повинні інтерпретувати команди відображення. Програмне забезпечення також мало власні параметри termcap, і `less` не був винятком.
Нижче наведено визначення параметрів termcap для `less`:
`LESS_TERMCAP_md`: Початок жирного (підкресленого) ефекту.
`LESS_TERMCAP_me`: Завершення жирного ефекту.
`LESS_TERMCAP_us`: Початок ефекту підкреслення.
`LESS_TERMCAP_ue`: Завершення ефекту підкреслення.
`LESS_TERMCAP_so`: Початок ефекту виділення (подібний до зворотного тексту).
`LESS_TERMCAP_se`: Завершення ефекту виділення.
Ми встановимо ці параметри для керування колірними комбінаціями, використовуючи кольорові коди Американського національного інституту стандартів (ANSI).
Формат колірного коду є простим, коли ви його зрозумієте:
«e» на початку ідентифікує послідовність як керуючий код або escape-послідовність.
«m» в кінці команди послідовності вказує на кінець команди. Також це ініціює виконання керуючого коду.
Числа між «[» та «m» визначають кольори, які будуть використані. Кольори ідентифікуються за допомогою чисел. Деякі числа позначають фонові кольори, а деякі – кольори тексту.
Ось коди, які ми будемо використовувати для початку колірної послідовності та для вимкнення всіх ефектів:
‘e[01;31m’: Чорний фон, червоний текст.
‘e[01;32m’: Чорний фон, зелений текст.
‘e[45;93m’: Маджента фон, яскраво жовтий текст.
‘e[0m’: Вимкнути всі ефекти.
Ми обгорнемо все це у функцію оболонки, яку назвемо `man`. Вона встановить ці значення, а потім викличе справжню програму `man`.
Якщо у вас вже є визначені функції оболонки в іншому файлі, ви можете додати цю функцію до нього. В іншому випадку, скопіюйте наступний текст в кінець вашого файлу `.bashrc`:
man() { LESS_TERMCAP_md=$'e[01;31m' LESS_TERMCAP_me=$'e[0m' LESS_TERMCAP_us=$'e[01;32m' LESS_TERMCAP_ue=$'e[0m' LESS_TERMCAP_so=$'e[45;93m' LESS_TERMCAP_se=$'e[0m' command man "[email protected]"}
gedit .bashrc
Вставте цю функцію в кінець файлу `.bashrc`.
Збережіть зміни та закрийте редактор. Тепер потрібно оновити файл `.bashrc`, щоб функція оболонки стала активною, тому введіть:
. .bashrc
Тепер, коли ви запускаєте сторінку man, вона відображатиметься в кольорі за допомогою `less`:
man chmod
Сторінка довідки відкриється з кольоровим підсвічуванням.
Зворотний зв’язок показує, що жовтий колір на пурпуровому фоні, можливо, не є найкращим вибором. На щастя, ви можете налаштувати кольорові коди на свій розсуд.
Це не лише гарно
Легко прокручувати довгу сторінку керівництва та пропустити важливу інформацію, наприклад, параметр або опцію, через те, що вона губиться у великому обсязі тексту.
Тепер назви параметрів та опцій будуть виділені, що зробить їх набагато помітнішими.