LESSKEY(1)

NUME
lesskey - personalizează combinațiile de taste pentru less

SINOPSIS (învechit)
lesskey [-o ieșire] -- intrare
lesskey [--output=ieșire] -- intrare

lesskey -V
lesskey --version

SCOPUL
Acest document descrie formatul fișierului sursă lesskey, care este utilizat de less versiunea 582 și ulterioare. În versiunile anterioare ale less, un program separat numit lesskey era utilizat pentru a compila fișierul sursă lesskey într-un format înțeles de less. Această etapă de compilare nu mai este necesară și programul lesskey este, prin urmare, depreciat, deși formatul de fișier rămâne acceptat de less însuși.

DESCRIERE
Un fișier lesskey specifică un set de combinații de taste și variabile de mediu care urmează să fie utilizate de invocările ulterioare ale less.

FORMATUL FIȘIERULUI
Fișierul de intrare este format din una sau mai multe secțiuni. Fiecare secțiune începe cu o linie care identifică tipul de secțiune. Secțiunile posibile sunt:

#command
    Personalizează asocierile combinațiilor de taste cu comenzile.

#line-edit
    Personalizează asocierile combinațiilor de taste cu editarea liniei de comandă.

#env
    Definește variabilele de mediu.

Liniile goale sunt ignorate. Orice text care urmează unui simbol hash (#) ne-eludat pe o linie este ignorat, cu excepția cazurilor menționate mai jos.

SECȚIUNEA COMENZI
Secțiunea de comenzi începe cu linia

#command

Dacă secțiunea de comandă este prima secțiune din fișier, această linie poate fi omisă. Secțiunea de comandă constă din linii de forma:

  șir <spațiu-alb> acțiune <spațiu-alb> [șir-extra] <linie-nouă>

Spațiul alb este orice secvență de unul sau mai multe spații și/sau tabulații. șir este tasta (tastele) de comandă care invocă acțiunea. șir poate fi o singură tastă de comandă sau o secvență de până la 15 taste. acțiune este numele acțiunii „less”, din listele din secțiunea EXEMPLU de mai jos. Caracterele din șir pot apărea literal sau pot fi precedate de un semn de accent circumflex „^” pentru a indica o tastă de control. O bară oblică inversă urmată de una până la trei cifre octale poate fi utilizată pentru a specifica un caracter prin valoarea sa octală. O bară oblică inversă urmată de anumite caractere specifică caracterele de intrare după cum urmează:
    \b | RETROCEDARE(BACKSPACE) | (0x08)
    \e | ESCAPE | (0x1B)
    \n | LINIE_NOUĂ | (0x0A)
    \r | RETURN | (0x0D)
    \t | TABULATOR | (0x09)

\k urmat de unul sau două caractere reprezintă caracterul/caracterele produs(e) atunci când una dintre aceste taste este apăsată:
    \kb | RETROCEDARE (tasta de RETROCEDARE; poate fi alta în loc de \b)
    \kB | ctrl-RETROCEDARE
    \kd | SĂGEATĂ ÎN JOS
    \kD | PAGINA URMĂTOARE
    \ke | END
    \kE | ctrl-END
    \kF | shift-END
    \kh | HOME
    \kH | ctrl-HOME
    \kI | shift-HOME
    \ki | INSERARE
    \kl | SĂGEATĂ LA STÂNGA
    \kL | ctrl-SĂGEATĂ LA STÂNGA
    \kM | shift-SĂGEATĂ LA STÂNGA
    \kr | SĂGEATĂ LA DREAPTA
    \kR | ctrl-SĂGEATĂ LA DREAPTA
    \kS | shift-SĂGEATĂ LA DREAPTA
    \kt | TABULATOR ÎNAPOI
    \ku | SĂGEATĂ ÎN SUS
    \kU | PAGINA PRECEDENTĂ
    \kx | ȘTERGERE
    \kX | ctrl-ȘTERGERE
    \k1 | F1
    \kp1 | tasta din stânga jos de pe tastatura numerică
    \kp2 | tasta din centru jos de pe tastatura numerică
    \kp3 | tasta din dreapta jos de pe tastatura numerică
    \kp4 | tasta din stânga centru de pe tastatura numerică
    \kp5 | tasta centrală de pe tastatura numerică
    \kp6 | tasta din dreapta centru de pe tastatura numerică
    \kp7 | tasta din stânga sus de pe tastatura numerică
    \kp8 | tasta din centru sus de pe tastatura numerică
    \kp9 | tasta din dreapta sus de pe tastatura numerică
    \kp0 | tasta 0 de pe tastatura numerică
    \kp* | tasta * de pe tastatura numerică
    \kp/ | tasta / de pe tastatura numerică
    \kp- | tasta - de pe tastatura numerică
    \kp+ | tasta + de pe tastatura numerică
    \kp. | tasta . de pe tastatura numerică
    \kp, | tasta , de pe tastatura numerică

O bară oblică inversă urmată de orice alt caracter indică faptul că acel caracter trebuie luat literal. Caracterele care trebuie să fie precedate de o bară oblică inversă includ caret „^”, spațiu, tabulator, semnul hash „#” și bara oblică inversă însăși.

O acțiune poate fi urmată de un șir „extra”. Atunci când o astfel de comandă este introdusă în timpul rulării less, acțiunea este efectuată, iar apoi șirul extra este analizat, ca și cum ar fi tastat în less. Această caracteristică poate fi utilizată în anumite cazuri pentru a extinde funcționalitatea unei comenzi. De exemplu, a se vedea comenzile „{” și „:t” din exemplul de mai jos. Aceasta poate fi utilizată de asemenea pentru a executa mai multe comenzi atunci când este apăsată o tastă. De exemplu, dacă această linie ar fi într-un fișier lesskey, apăsarea tastei „B” ar defini mai întâi marcajul „b” și apoi ar căuta șirul „next”:

        B set-mark b/next\n

Șirul extra are o semnificație specială pentru acțiunea „quit”(ieșire): atunci când less iese, valoarea ASCII a primului caracter din șirul extra este utilizată ca stare de ieșire.

EXEMPLU
Următorul fișier de intrare descrie setul de taste de comandă implicite utilizate de less. Documentația privind fiecare comandă poate fi găsită în pagina de manual less, sub secvența de taste care invocă comanda.

    #command
    \r | forw-line
    \n | forw-line
    e | forw-line
    j | forw-line
    \kd | forw-line
    ^E | forw-line
    ^N | forw-line
    k | back-line
    y | back-line
    ^Y | back-line
    ^K | back-line
    ^P | back-line
    \ku | back-line
    J | forw-line-force
    K | back-line-force
    Y | back-line-force
    d | forw-scroll
    ^D | forw-scroll
    u | back-scroll
    ^U | back-scroll
    \40 | forw-screen
    f | forw-screen
    ^F | forw-screen
    ^V | forw-screen
    \kD | forw-screen
    b | back-screen
    ^B | back-screen
    \ev | back-screen
    \kU | back-screen
    z | forw-window
    w | back-window
    \e\40 | forw-screen-force
    \eb | back-screen-force
    \ej | forw-newline
    \ek | back-newline
    F | forw-forever
    \eF | forw-until-hilite
    \ef | forw-bell-hilite
    R | repaint-flush
    r | repaint
    ^R | repaint
    ^L | repaint
    \eu | undo-hilite
    \eU | clear-search
    g | goto-line
    \kh | goto-line
    \kH | goto-line \e{
    \kI | goto-line \e{
    \ke | goto-end
    \kE | goto-end \e}
    \kF | goto-end \e}
    < | goto-line
    \e< | goto-line
    p | percent
    % | percent
    \e( | left-scroll
    \e) | right-scroll
    \e{ | no-scroll
    \e} | end-scroll
    \kl | left-scroll
    \kr | right-scroll
    \kL | no-scroll
    \kM | no-scroll
    \kR | end-scroll
    \kS | end-scroll
    { | forw-bracket {}
    } | back-bracket {}
    ( | forw-bracket ()
    ) | back-bracket ()
    [ | forw-bracket []
    ] | back-bracket []
    \e^F | forw-bracket
    \e^B | back-bracket
    G | goto-end
    \e> | goto-end
    > | goto-end
    P | goto-pos
    \eG | goto-end-buffered
     | status
    ^G | status
    :f | status
    / | forw-search
    ? | back-search
    \e/ | forw-search *
    \e? | back-search *
    n | repeat-search
    \en | repeat-search-all
    N | reverse-search
    \eN | reverse-search-all
    & | filter
    m | set-mark
    M | set-mark-bottom
    \em | clear-mark
    ' | goto-mark
    ^X^X | goto-mark
    E | examine
    :e | examine
    ^X^V | examine
    :n | next-file
    :p | prev-file
    ^O^N | osc8-forw-search
    ^On | osc8-forw-search
    ^O^P | osc8-back-search
    ^Op | osc8-back-search
    ^O^O | osc8-open
    ^Oo | osc8-open
    ^O^L | osc8-jump
    ^Ol | osc8-jump
    t | next-tag
    T | prev-tag
    :x | index-file
    :d | remove-file
    - | toggle-option
    :t | toggle-option t
    s | toggle-option o
     | ## Utilizați un nume de opțiune lung prin începerea
     | ## șirului suplimentar cu O liniuță; de exemplu:
     | ## s toggle-option -log-file\n
     | display-option
    | | pipe
    v | visual
    ! | shell
    # | pshell
    + | firstcmd
    \e[M | mouse
    \e[< | mouse6
    \kp1 | goto-end
    \kp2 | forw-line
    \kp3 | forw-screen
    \kp4 | left-scroll
    \kp6 | right-scroll
    \kp7 | goto-line
    \kp8 | back-line
    \kp9 | back-screen
    \kp0 | noaction 0
    \kp* | noaction *
    \kp/ | noaction /
    \kp- | noaction -
    \kp+ | noaction +
    \kp. | noaction .
    \kp, | noaction ,
    H | help
    h | help
    \k1 | help
    V | version
    0 | digit
    1 | digit
    2 | digit
    3 | digit
    4 | digit
    5 | digit
    6 | digit
    7 | digit
    8 | digit
    9 | digit
    q | quit
    Q | quit
    :q | quit
    :Q | quit
    ZZ | quit

PRECEDENȚA
Comenzile specificate de lesskey au prioritate față de comenzile implicite. O tastă de comandă implicită poate fi dezactivată prin includerea acesteia în fișierul de intrare cu acțiunea „invalid”. Alternativ, o tastă poate fi definită să nu facă nimic prin utilizarea acțiunii „noaction”. „noaction” este similară cu «invalid», dar less va emite un bip de eroare pentru o comandă „invalid”, dar nu și pentru o comandă „noaction”. În plus, TOATE comenzile implicite pot fi dezactivate prin adăugarea acestei linii de control la fișierul de intrare:

#stop

Aceasta va face ca toate comenzile implicite să fie ignorate. Linia #stop trebuie să fie ultima linie din secțiunea respectivă a fișierului.

Rețineți că #stop poate fi periculos. Deoarece toate comenzile implicite sunt dezactivate, trebuie să furnizați suficiente comenzi înainte de linia #stop pentru a activa toate acțiunile necesare. De exemplu, lipsa unei comenzi „quit” poate duce la frustrare.

SECȚIUNEA EDITAREA LINIEI
Secțiunea de editare a liniei începe cu linia:

    #line-edit

Această secțiune specifică noi combinații de taste pentru comenzile de editare a liniilor, într-un mod similar cu modul în care sunt specificate combinațiile de taste pentru comenzile obișnuite în secțiunea #command. Secțiunea de editare a liniei constă dintr-o listă de taste și acțiuni, câte una pe linie, ca în exemplul de mai jos.

EXEMPLU
Următorul fișier de intrare descrie setul de taste implicite de editare a liniei utilizate de less:

    #line-edit
    \t | forw-complete
    \17 | back-complete
    \ekt | back-complete
    \e\t | back-complete
    ^L | expand
    ^V | literal
    ^A | literal
    \el | right
    \kr | right
    \eh | left
    \kl | left
    \eb | word-left
    \e\kl | word-left
    \e\kL | word-left
    \ew | word-right
    \e\kr | word-right
    \e\kR | word-right
    \ei | insert
    \ki | insert
    \ex | delete
    \kx | delete
    \eX | word-delete
    \ekx | word-delete
    \kX | word-delete
    \e\b | word-backspace
    \kB | word-backspace
    \e0 | home
    \kh | home
    \e$ | end
    \ke | end
    \ek | up
    \ku | up
    \ej | down
    \kd | down
    ^G | abort
    \kp1 | end
    \kp2 | down
    \kp4 | left
    \kp6 | right
    \kp7 | home
    \kp8 | up
    \kp0 | noaction 0
    \kp* | noaction *
    \kp/ | noaction /
    \kp- | noaction -
    \kp+ | noaction +
    \kp. | noaction .
    \kp, | noaction ,
    \e[M | mouse
    \e[< | mouse6

VARIABILELE DE MEDIU LESS
Secțiunea variabilelor de mediu începe cu linia

#env

Această linie este urmată de o listă de atribuiri ale variabilelor de mediu. Fiecare linie este formată dintr-un nume de variabilă de mediu, un semn egal (=) și valoarea care urmează să fie atribuită variabilei de mediu. Spațiul alb înainte și după semnul egal este ignorat. Variabilele atribuite în acest mod sunt vizibile numai pentru less. Dacă o variabilă este specificată în mediul sistemului și, de asemenea, într-un fișier „lesskey”, valoarea din fișierul „lesskey” are întâietate.

Dacă numele variabilei este urmat de += în loc de =, șirul este adăugat la valoarea existentă a variabilei. Acest lucru funcționează în prezent numai dacă orice linie += urmează imediat definiția originală a aceleiași variabile (cu o linie =), fără să intervină definiții ale altor variabile. Se poate adăuga numai la o variabilă definită anterior în fișier; nu se poate adăuga la o variabilă din mediul sistemului. Șirul de caractere este adăugat literal, fără niciun spațiu alb suplimentar, astfel încât, dacă se dorește un spațiu alb, acesta trebuie adăugat la sfârșitul liniei precedente; (nu poate fi adăugat la începutul șirului += deoarece spațiul după semnul egal este ignorat, după cum s-a menționat mai sus).

În șirul de caractere de după semnul =, un subșir de caractere de forma ${NUME} este înlocuit cu valoarea variabilei de mediu „NUME”. Valoarea variabilei poate proveni fie din mediul sistemului, fie dintr-un fișier „lesskey” anterior, fie dintr-o definiție anterioară în fișierul „lesskey” curent. Înlocuirile simple de text pot fi efectuate prin utilizarea sintaxei ${NUME/ȘIR/ÎNLOCUIRE}. Aceasta înlocuiește toate instanțele „ȘIR” din variabila de mediu numită cu textul „ÎNLOCUIRE”. ȘIR este comparat folosind o simplă comparație de text; nu sunt acceptate metacaractere. O prezență de bară oblică sau de acoladă dreaptă (de închidere „}”) în ȘIR sau ÎNLOCUIRE trebuie să fie eludată prin precedarea sa cu două bare oblice inverse. Dacă ÎNLOCUIRE este un șir gol, toate instanțele din ȘIR sunt eliminate. O bară oblică imediat înaintea acoladei drepte poate fi omisă. Se pot efectua înlocuiri multiple utilizând sintaxa ${NUME/ȘIR1/ÎNLOCUIRE1/ȘIR2/ÎNLOCUIRE2} și așa mai departe.

CONFIGURARE CONDIȚIONALĂ
Dacă o linie începe cu #version urmat de un operator relațional și un număr de versiune, restul liniei este analizat dacă și numai dacă versiunea curentă a less (sau lesskey) corespunde operatorului. Acest lucru poate fi util dacă un fișier lesskey este utilizat de diferite versiuni ale less.

De exemplu, să presupunem că o nouă comandă numită „sideways-search” este adăugată în less versiunea 777. Următoarea linie ar atribui comanda tastei Q, dar numai în versiunile de less care o acceptă. Linia ar fi ignorată de versiunile anterioare celei 777.

    	#version >= 777  Q sideways-search

Acești șase operatori sunt acceptați:
    > | Mai mare decât
    < | Mai mic decât
    >= | Mai mare sau egal cu
    <= | Mai mic sau egal cu
     | Egal cu
    != | Nu este egal cu

Caracteristica #version nu este acceptată în less și lesskey înainte de versiunea 594. În aceste versiuni mai vechi, toate liniile #version sunt ignorate.

EXEMPLU
Următorul fișier de intrare definește opțiunile „-i” și „-S” atunci când less este rulat și, la versiunea 595 și versiunile ulterioare, adaugă opțiunea „--color”.

    	#env
    	## (Observați că trebuie să existe un spațiu la sfârșitul liniei următoare,
    	##  pentru a separa opțiunea „--color” de opțiunea „-S”.)
    	LESS = -i -S 	#version >= 595  LESS += --color=Hkc

CONSULTAȚI ȘI
less(1)

AVERTISMENTE
În sistemele MS-DOS și OS/2, anumite taste trimit o secvență de caractere care încep cu un caracter NUL (0). Acest caracter NUL ar trebui să fie reprezentat ca \340 într-un fișier „lesskey”.

DREPTURI DE AUTOR
Drepturi de autor © 1984-2020 Mark Nudelman

«less» face parte din proiectul GNU și este software liber. Îl puteți redistribui și/sau modifica în conformitate cu termenii (1) Licenței Publice Generale GNU, publicată de Free Software Foundation; sau (2) Licenței Less. Consultați fișierul README din distribuția «less» pentru mai multe detalii privind redistribuirea. Ar fi trebuit să primiți o copie a Licenței Publice Generale GNU împreună cu sursa pentru «less»; consultați fișierul COPYING. În caz contrar, scrieți la Free Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111-1307, SUA. De asemenea, ar trebui să fi primit o copie a Licenței less; consultați fișierul LICENSE.

less este distribuit în speranța că va fi util, dar FĂRĂ NICI O GARANȚIE; fără nici măcar garanția implicită de COMERCIALIZARE sau de ADECVARE LA UN SCOP PARTICULAR. Pentru mai multe detalii, consultați Licența publică generală GNU.

AUTOR
Mark Nudelman
Raportați erorile la https://github.com/gwsw/less/issues.

TRADUCERE
Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 (https://www.gnu.org/licenses/gpl-3.0.html) sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.