Cum să afișați paginile de manual în culori pe Linux

Dacă dorești să adaugi un strop de culoare paginilor tale de manual, similar cu evidențierea sintaxei într-un editor de text, există două metode simple pe care le poți folosi. Îți vom prezenta ambele variante!

Evidențierea cu ajutorul culorilor

Evidențierea cu culori face ca informația să fie mai ușor de citit și de înțeles. Poate scoate în evidență detaliile importante, astfel încât să nu le treci cu vederea. Majoritatea editoarelor moderne permit evidențierea sintaxelor, folosind culori pentru a identifica și diferenția diversele elemente dintr-un limbaj de programare. Cuvintele cheie, variabilele, șirurile de caractere și numerele sunt colorate pentru a facilita analiza vizuală a codului.

O astfel de funcție ar fi extrem de utilă și în paginile de manual Linux. Deși concizia este o caracteristică importantă, unele pagini de manual sunt lungi, dense și dificil de parcurs. Orice element care facilitează navigarea vizuală este binevenit.

Vom explica două modalități de a obține efectul de evidențiere colorată în paginile de manual. Una dintre ele presupune folosirea unui alt program de vizualizare, în timp ce a doua necesită transmiterea unor parametri specifici. Cel mai eficient mod de a realiza acest lucru este prin crearea unei funcții shell.

Programul „most” este un vizualizator de fișiere, similar cu „more” și „less”, dar cu o gestionare îmbunătățită a fișierelor foarte mari. De asemenea, colorează automat paginile de manual.

Pentru a instala „most” pe Ubuntu, execută această comandă:

sudo apt-get install most

Pentru a instala „most” pe Fedora, introdu:

sudo dnf install most

Pentru a instala „most” pe Manjaro, rulează:

sudo pacman -Syu most

Pentru a indica sistemului Linux să folosească „most” ca paginator implicit, trebuie să modificăm valoarea variabilei de mediu PAGER.

Introdu următoarea linie:

export PAGER=“most”

Această modificare va fi valabilă doar pentru sesiunea curentă a terminalului. Pentru a face modificarea permanentă, trebuie să adaugi linia respectivă în fișierul „.bashrc” (de preferat, la finalul fișierului):

gedit .bashrc

Adaugă linia, salvează modificările și închide editorul.

Pentru a activa modificările din fișierul „.bashrc”, închide și redeschide fereastra terminalului.

Alternativ, pentru a aplica modificările în fereastra curentă a terminalului, putem folosi comanda „source”, prescurtată la un punct (.). Aceasta va determina shell-ul să citească conținutul fișierului „.bashrc” modificat.

Introdu următoarea comandă:

. .bashrc

Pagini de manual colorate

Acum, deschide o pagină de manual și observă cum arată:

man grep

Pagina de manual se va deschide în mod normal, dar acum va avea text evidențiat în culori diferite.

Parcurge textul și vei observa cum sunt colorate diferitele elemente ale paginii.

Utilizarea „most” este foarte similară cu „less”, dar există câteva diferențe. Apasă tasta „H” în „most” pentru a vedea o listă a scurtăturilor de taste și funcțiile lor.

Utilizarea culorilor cu „less”

Dacă nu vrei să instalezi un alt vizualizator sau nu dorești să înveți noi scurtături de taste, există o metodă prin care poți forța programul „less” să folosească culori. Există mai multe moduri de a face acest lucru, dar vom prezenta metoda cea mai rapidă și ușoară.

Această metodă utilizează codurile de culoare ANSI (Institutul Național American de Standarde) pentru a controla efectele de pe ecran asociate cu setările termcap, care sunt în mare parte depășite.

Acestea erau folosite pentru a specifica modul în care terminalele de computer, de diferite mărci și modele, ar trebui să interpreteze comenzile de afișare. Pachetele software, inclusiv „less”, aveau propriile setări termcap.

Iată definițiile setărilor term pentru „less”:

LESS_TERMCAP_md: Inițiază efectul de bold (dublă intensitate).
LESS_TERMCAP_me: Oprește efectul de bold.
LESS_TERMCAP_us: Inițiază efectul de subliniere.
LESS_TERMCAP_ue: Oprește efectul de subliniere.
LESS_TERMCAP_so: Inițiază efectul de evidențiere (similar cu textul inversat).
LESS_TERMCAP_se: Oprește efectul de evidențiere.

Acum, vom configura aceste setări pentru a controla culorile folosind codurile de culoare ANSI.

Formatul codului de culoare este ușor de înțeles odată ce îl cunoști:

„e” de la început identifică secvența ca un cod de control sau secvență de evadare.
„m” de la sfârșitul comenzii indică finalul secvenței și determină execuția codului de control.
Numerele dintre „[” și „m” specifică ce culori vor fi folosite. Culorile sunt identificate prin numere. Unele numere reprezintă culorile de fundal, iar altele culorile textului.

Acestea sunt codurile pe care le vom folosi pentru a iniția o secvență de culori și cum să oprim toate efectele:

‘e[01;31m: Fundal negru, text roșu.
‘e[01;32m: Fundal negru, text verde.
‘e[45;93m: Fundal magenta, text galben deschis.
‘e[0m’: Oprește toate efectele.

Vom include toate aceste setări într-o funcție shell pe care o vom numi „man”. Aceasta va seta valorile și apoi va apela programul „man” real.

Dacă ai deja definite funcții shell într-un alt fișier, poți adăuga această funcție acolo. Altfel, copiază următorul text la finalul fișierului „.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

Lipește funcția la finalul fișierului „.bashrc”.

Salvează modificările și închide editorul. Acum, trebuie să citim fișierul „.bashrc” pentru a activa funcția shell. Pentru aceasta, rulează:

. .bashrc

Acum, când deschizi o pagină de manual, aceasta va fi colorată în „less”:

man chmod

Pagina de manual se va deschide cu evidențierea colorată.

Revenind la setările de culoare, combinația de galben pe magenta s-ar putea să nu fie cea mai bună. Din fericire, poți modifica codurile de culoare după preferințe.

Nu este doar un aspect plăcut

Este ușor să te pierzi într-o pagină de manual lungă și să ratezi informații importante, precum o opțiune sau un parametru, deoarece acestea se pierd într-o mare de text.

Acum, numele parametrilor și opțiunilor vor fi evidențiate, fiind mult mai ușor de identificat.