LESS(1)

NOM
less — Afficher le contenu d’un fichier dans un terminal

SYNOPSIS
less -?
less --help
less -V
less --version
less [-[+]aABcCdeEfFgGiIJKLmMnNqQrRsSuUVwWX~]
[-b espace] [-h lignes] [-j ligne] [-k fichier_clé]
[-{oO} journal] [-p motif] [-P invite] [-t symbole]
[-T fichier_symboles] [-x tab,...] [-y lignes] [-[z] lignes]
[-# décalage] [+[+]commande] [--] [fichier]...
Voir la section OPTIONS pour une syntaxe d’option alternative avec des noms d’option longs.

DESCRIPTION
Less est un programme similaire à more(1), mais il possède beaucoup plus de fonctionnalités. Il n’a pas besoin de lire la totalité du fichier d’entrée avant de démarrer ; il démarre donc plus rapidement que les éditeurs de texte comme vi(1) avec des fichiers d’entrée de grande taille. Less utilise termcap(5) (ou terminfo(5) sur certains systèmes) et il peut de ce fait être utilisé sur une grande variété de terminaux. Il prend même en charge les terminaux papier, mais de manière limitée (sur les terminaux papier, les lignes qui devraient être imprimées en haut de l’écran sont préfixées d’un caret « ^ »).

Les commandes s’inspirent à la fois de more(1) et de vi(1). Elles peuvent être précédées d’un nombre décimal désigné par N dans les descriptions ci-après. Ce nombre est utilisé par certaines commandes selon les indications.

COMMANDES
Dans les descriptions suivantes, ^X signifie Ctrl-X. ÉCH correspond à la touche « ÉCHAP » ; par exemple, ÉCH-v correspond à la séquence de deux caractères « ÉCHAP » suivie de « v ».

h ou H
    Demander de l’aide : afficher un résumé des commandes. Si vous avez oublié toutes les autres commandes, faites en sorte de vous souvenir de celle-là.

ESPACE, ^V, f ou ^F
    Faire défiler de N lignes vers le bas, par défaut une fenêtre (voir l’option -z ci-après). Si N correspond à un nombre de lignes supérieur à la taille de l’écran, seul l’écran entier final est affiché. Attention : certains systèmes utilisent ^V comme caractère spécial de littéralisation.

z   Comme ESPACE, mais si N est spécifié, il devient la nouvelle taille de la fenêtre.

ÉCH-ESPACE
    Comme ESPACE, mais fait défiler un écran entier, même si la fin de fichier est dépassée.

ENTRÉE, RETOUR, ^N, e, ^E, j ou ^J
    Faire défiler de N lignes vers le bas, par défaut 1. Les N lignes sont affichées, même si N est supérieur à la taille de l’écran.

d ou ^D
    Faire défiler de N lignes vers le bas, par défaut la moitié de la taille de l’écran. Si N est spécifié, il devient la valeur par défaut pour les commandes d et u ultérieures.

b, ^B or ÉCH-v
    Faire défiler de N lignes vers le haut, par défaut une fenêtre (voir l’option -z ci-après). Si N correspond à un nombre de lignes supérieur à la taille de l’écran, seul l’écran entier final est affiché.

w   Comme ÉCH-v, mais si N est spécifié, il devient la nouvelle taille de la fenêtre.

y, ^Y, ^P, k or ^K
    Faire défiler de N lignes vers le haut, par défaut 1. Les N lignes sont affichées, même si N est supérieur à la taille de l’écran. Attention : certains systèmes utilisent ^Y comme caractère spécial de contrôle de tâche.

u ou ^U
    Faire défiler de N lignes vers le haut, par défaut la moitié de la taille de l’écran. Si N est spécifié, il devient la valeur par défaut pour les commandes d et u ultérieures.

J   Comme j, mais continue le défilement au delà de la fin du fichier.

K ou Y
    Comme k, mais continue le défilement au delà du début du fichier.

ÉCH-) ou FLÈCHE_GAUCHE
    Défilement horizontal de N caractères vers la droite, par défaut de la moitié de la largeur de l’écran (voir l’option -#). Si N est spécifié, il devient la valeur par défaut pour les commandes FLÈCHE_DROITE et FLÈCHE_GAUCHE ultérieures. Pendant le défilement du texte, agit comme si l’option -S (couper les lignes) était utilisée.

ÉCH-( ou FLÈCHE_GAUCHE
    Défilement horizontal de N caractères vers la gauche, par défaut de la moitié de la largeur de l’écran (voir l’option -#). Si N est spécifié, il devient la valeur par défaut pour les commandes FLÈCHE_DROITE et FLÈCHE_GAUCHE ultérieures.

ÉCH-} ou ^FLÈCHE_DROITE
    Défilement horizontal vers la droite de façon à montrer la fin de la plus longue ligne affichée.

ÉCH-{ ou ^FLÈCHE_GAUCHE
    Défilement horizontal vers la gauche jusqu’à la première colonne.

r, ^R ou ^L
    Rafraîchir l’écran.

R   Rafraîchir l’écran tout en annulant toute entrée mise en tampon. Autrement dit, recharger le fichier actuel. Cette commande s’avère utile si le fichier est modifié pendant sa visualisation.

F   Faire défiler vers le bas et continuer quand même d’essayer de lire si la fin du fichier est atteinte. Normalement, cette commande devrait être utilisée lorsque la fin du fichier est déjà atteinte. Elle permet de monitorer la fin d’un fichier qui fait l’objet d’ajouts pendant sa visualisation (l’effet est similaire à celui de la commande « tail -f »). Pour stopper l’attente de données, tapez le caractère d’interruption (en général ^C). Sur les systèmes qui prennent en charge poll(2), vous pouvez aussi utiliser ^X ou le caractère spécifié à l’aide de l’option --intr. Si l’entrée est un tube et si l’option --exit-follow-on-close est activée, less arrêtera automatiquement d’attendre des données lorsque l’extrémité d’entrée du tube sera fermée.

ÉCH-F
    Comme F, excepté que dès qu’une ligne correspondant au dernier motif de recherche est trouvée, la sonnerie du terminal est activée et le défilement vers le bas est stoppé.

g, < ou ÉCH-<
    Aller à la ligne N du fichier, par défaut la ligne 1 (début du fichier). Attention : la durée d’exécution de cette commande peut être longue si N est grand.

G, > ou ÉCH->
    Aller à la ligne N du fichier, par défaut la fin du fichier. Attention : la durée d’exécution de cette commande peut être longue si N est grand ou si N n’est pas spécifié et si c’est l’entrée standard qui est lue au lieu d’un fichier.

ÉCH-G
    Identique à G, excepté que si N n’est pas spécifié et si c’est l’entrée standard qui est lue, le déplacement s’effectue vers la dernière ligne actuellement dans le tampon.

p ou %
    Aller à la position correspondant à N % du fichier. N doit être compris entre 0 et 100 et peut contenir un point décimal (pas de virgule).

P   Aller à la ligne contenant l’octet de position N dans le fichier.

{   Si une accolade ouvrante apparaît dans la ligne au sommet de l’écran, la commande { provoque un déplacement vers la ligne contenant l’accolade fermante correspondante. La ligne contenant cette accolade fermante est affichée au bas de l’écran. Si la ligne au sommet de l’écran contient plusieurs accolades ouvrantes, on peut utiliser N pour spécifier la Nème accolade dans la ligne.

}   Si une accolade fermante apparaît dans la ligne au bas de l’écran, la commande } provoque un déplacement vers la ligne contenant l’accolade ouvrante correspondante. La ligne contenant cette accolade ouvrante est affichée au sommet de l’écran. Si la ligne au bas de l’écran contient plusieurs accolades fermantes, on peut utiliser N pour spécifier la N-ième accolade dans la ligne.

(   Comme {, mais s’applique aux parenthèses au lieu des accolades.

)   Comme }, mais s’applique aux parenthèses au lieu des accolades.

[   Comme {, mais s’applique aux crochets au lieu des accolades.

]   Comme }, mais s’applique aux crochets au lieu des accolades.

ÉCH-^F
    Suivie de deux caractères, cette commande a le même effet que {, excepté qu’elle utilise les deux caractères comme balises ouvrante et fermante, respectivement. Par exemple, la commande « ÉCH ^F < > » pourrait être utilisée pour faire défiler vers le bas jusqu’à la ligne contenant le > correspondant au < contenu dans la ligne affichée au sommet de l’écran.

ÉCH-^B
    Suivie de deux caractères, cette commande a le même effet que }, excepté qu’elle utilise les deux caractères comme balises ouvrante et fermante, respectivement. Par exemple, la commande « ÉCH ^B < > » pourrait être utilisée pour faire défiler vers le haut jusqu’à la ligne contenant le < correspondant au > contenu dans la ligne affichée au bas de l’écran.

m   Suivie de n’importe quelle lettre en minuscule ou en capitale, cette commande étiquette la première ligne affichée avec cette lettre. Si la colonne d’état est activée (avec l’option -J), cette dernière montre la ligne étiquetée.

M   Identique à la commande m, excepté que c’est la dernière ligne affichée qui est étiquetée à la place de la première.

'   Apostrophe droite : cette commande, suivie de n’importe quelle lettre en minuscule ou capitale, renvoie à la position qui a été précédemment étiquetée avec cette lettre. Suivie d’une autre apostrophe droite, elle renvoie à la position à laquelle la dernière commande de mouvement « large » a été exécutée. Suivie d’un « ^ » ou d’un « $ », elle renvoie au début ou à la fin du fichier, respectivement. Les marques étant conservées lorsqu’un nouveau fichier est examiné, la commande ' permet de basculer entre les différents fichiers d’entrée.

^X^X
    Identique à la commande apostrophe droite.

ÉCH-m
    Suivie de n’importe quelle lettre en minuscule ou capitale, supprime l’étiquette identifiée par cette lettre.

/motif
    Rechercher vers le bas du fichier la N-ième ligne contenant le motif spécifié. N a pour valeur par défaut 1. Le motif est une expression rationnelle du point de vue de la bibliothèque d’expressions rationnelles fournie avec votre système. Par défaut, la recherche est sensible à la casse (capitales et minuscules sont considérées comme différentes) ; ce comportement peut être inversé à l’aide de l’option -i. La recherche démarre à partir de la première ligne affichée (voir les options -a et -j pour modifier ce comportement).

    Certains caractères sont spéciaux s’ils se trouvent au début du motif ; ils modifient seulement le type de recherche et ne font pas partie du motif :

    ^N ou !
        Rechercher les lignes qui ne correspondent PAS au motif.

    ^E ou *
        Effectuer la recherche dans plusieurs fichiers. Autrement dit, si la recherche atteint la fin du fichier actuel sans trouver de correspondance, elle continue dans le fichier suivant dans la liste spécifiée sur la ligne de commande.

    ^F ou @
        Faire débuter la recherche à la première ligne du premier fichier de la liste spécifiée sur la ligne de commande, sans tenir compte de ce qui est actuellement affiché à l’écran ou de la définition des options -a ou -j.

    ^K  Surligner tout texte qui correspond au motif sur l’écran actuel, mais ne pas se déplacer vers la première correspondance (conserver la position actuelle).

    ^R  Ne pas interpréter les métacaractères des expressions rationnelles ; autrement dit, effectuer un comparaison textuelle simple.

    ^S  Suivi d’un chiffre N entre 1 et 5. Seul le texte qui a une correspondance non vide pour le N-ième sous-motif entre parenthèses sera considéré comme correspondant au motif (pris en charge seulement si less est construit avec une des bibliothèques d’expressions rationnelles, posix, pcre ou pcre2). Plusieurs modificateurs ^S peuvent être indiqués pour une correspondance à plus d’un sous-motif.

    ^W  Faire le tour du fichier actuel. Autrement dit, si la recherche atteint la fin du fichier actuel sans trouver de correspondance, elle continue à partir de la première ligne du fichier actuel pour s’arrêter à la ligne où elle a commencé. Si le modificateur ^W est positionné, le modificateur ^E sera ignoré.

    ^L  Le caractère suivant est considéré sous sa forme littérale. Autrement dit, il devient membre à part entière du motif, même s’il correspond à un des caractères modificateurs de recherche ci-avant.

?motif
    Rechercher vers le haut du fichier la N-ième ligne contenant le motif. La recherche commence à partir de la dernière ligne affichée (voir les options -a et -j pour modifier ce comportement).

    Comme dans le cas de la commande /, certains caractères sont spéciaux :

    ^N ou !
        Rechercher les lignes qui ne correspondent PAS au motif.

    ^E ou *
        Effectuer la recherche dans plusieurs fichiers. Autrement dit, si la recherche atteint le début du fichier actuel sans trouver de correspondance, elle continue dans le fichier précédent dans la liste spécifiée sur la ligne de commande.

    ^F ou @
        Faire débuter la recherche à la dernière ligne du dernier fichier de la liste spécifiée sur la ligne de commande, sans tenir compte de ce qui est actuellement affiché à l’écran ou de la définition des options -a ou -j.

    ^K  Comme dans les recherches vers le bas.

    ^R  Comme dans les recherches vers le bas.

    ^S  Comme dans les recherches vers le bas.

    ^W  Faire le tour du fichier actuel. Autrement dit, si la recherche atteint le début du fichier actuel sans trouver de correspondance, elle continue à partir de la dernière ligne du fichier actuel pour s’arrêter à la ligne où elle a commencé.

ÉCH-/motif
    Identique à « /* ».

ÉCH-?motif
    Identique à « ?* ».

n   Réitérer la recherche précédente pour la N-ième ligne contenant le dernier motif. Si la recherche précédente a été modifiée par ^N, la recherche est effectuée pour la N-ième ligne ne contenant PAS le motif. Si la recherche précédente a été modifiée par ^E, la recherche continue dans le fichier suivant (ou précédent) si elle n’aboutit pas dans le fichier actuel. Si la recherche précédente a été modifiée par ^R, la recherche est effectuée sans utiliser les expressions rationnelles. Il n’y a aucun effet si la recherche précédente a été modifiée par ^F ou ^K.

N   Réitérer la recherche précédente mais dans la direction opposée.

ÉCH-n
    Réitérer la recherche précédente en franchissant les limites du fichier, comme si la recherche précédente était modifiée par « * ».

ÉCH-N
    Réitérer la recherche précédente mais dans la direction opposée et en franchissant les limites du fichier.

ÉCH-u
    Désactiver le surlignage. Désactivation du surlignage des chaînes qui correspondent au motif de recherche actuel. Si le surlignage est déjà désactivé suite à une commande ÉCH-u, il est réactivé. Toute commande de recherche va aussi réactiver le surlignage (le surlignage peut aussi être désactivé en basculant avec l’option -G ; dans ce cas, les commandes de recherche ne réactiveront pas le surlignage).

ÉCH-U
    Identique à ÉCH-u, mais supprime aussi le motif de recherche sauvegardé. Si la colonne d’état est activée à l’aide de l’option -J, cette commande supprime toutes les correspondances de recherche marquées dans la colonne d’état.

&motif
    N’afficher que les lignes qui correspondent au motif ; les lignes qui ne correspondent pas au motif ne seront pas affichées. Si le motif est vide (si vous tapez « & » immédiatement suivi de la touche Entrée), tout filtrage est désactivé et toutes les lignes seront affichées. Lorsque le filtrage est actif, un « & » est affiché au début de l’invite pour rappeler que certaines lignes du fichier peuvent être cachées. Plusieurs commandes & peuvent être saisies, auquel cas seules les lignes qui correspondent à tous les motifs seront affichées.

    Comme dans le cas de la commande /, certains caractères sont spéciaux :

    ^N ou !
        N’afficher que les lignes qui ne correspondent PAS au motif.

    ^R  Ne pas interpréter les métacaractères des expressions rationnelles ; autrement dit, effectuer un comparaison textuelle simple.

:e [nom_fichier]
    Examiner un nouveau fichier. Si nom_fichier est omis, le fichier « actuel » (voir les commandes :n et :p ci-après) de la liste des fichiers fournie sur la ligne de commande est réexaminé. Un signe pourcentage « % » à la place de nom_fichier est remplacé par le nom du fichier actuel. Un signe croisillon « # » est remplacé par le nom du fichier précédemment examiné. Cependant, deux signes pourcentage consécutifs sont remplacés par un seul signe pourcentage non interprété, ce qui permet de spécifier un fichier contenant un signe pourcentage dans son nom. De même, deux signes croisillon « # » consécutifs sont remplacés par un seul signe croisillon « # » non interprété. nom_fichier est inséré dans la liste de fichiers fournie sur la ligne de commande pour qu’il puisse être examiné par une commande :n ou :p ultérieure. Si nom_fichier correspond à plusieurs fichiers, ces derniers sont tous insérés dans la liste de fichiers et le premier d’entre eux est examiné. Si nom_fichier contient une ou plusieurs espaces, il doit être entouré de guillemets hauts droits doubles (voir aussi l’option -").

^X^V ou E
    Identique à :e. Attention : certains systèmes utilisent ^V comme caractère spécial de littéralisation. Dans ce cas, vous ne pourrez peut-être pas utiliser ^V.

:n  Examiner le fichier suivant (dans la liste des fichiers fournie sur la ligne de commande). Si un nombre N est spécifié, c’est le N-ième fichier suivant qui sera examiné.

:p  Examiner le fichier précédent (dans la liste des fichiers fournie sur la ligne de commande). Si un nombre N est spécifié, c’est le N-ième fichier précédent qui sera examiné.

:x  Examiner le premier fichier de la liste des fichiers fournie sur la ligne de commande. Si un nombre N est spécifié, c’est le N-ième fichier de la liste qui sera examiné.

:d  Supprimer le fichier actuel de la liste des fichiers fournie sur la ligne de commande.

t   Aller au symbole suivant s’il y avait plusieurs correspondances pour le symbole actuel. Voir l’option -t pour plus de détails à propos des symboles.

T   Aller au symbole précédent s’il y avait plusieurs correspondances pour le symbole actuel.

^O^N ou ^On
    Rechercher vers le bas du fichier le N-ième hyperlien OSC 8 suivant (NDT : OSC 8, Operating System Command 8 — commande N°8 du système d’exploitation, est une séquence d’échappement permettant de transformer une portion de texte en hyperlien dans un terminal).

^O^P ou ^Op
    Rechercher vers le haut du fichier le N-ième hyperlien OSC 8 précédent.

^O^L ou ^Ol
    Aller à l’hyperlien OSC 8 actuellement sélectionné.

=, ^G ou :f
    Afficher des informations à propos du fichier examiné dont le nom, la position en octets et le numéro de la ligne affichée au bas de l’écran. Si possible, afficher aussi la taille du fichier, le nombre de lignes et le pourcentage du fichier au dessus de la dernière ligne affichée.

-   Suivie d’une des lettres d’option de ligne commande (voir la section OPTIONS ci-après), cette commande va modifier la définition de cette option et afficher un message décrivant cette nouvelle définition. Si ^P (Ctrl-P) est tapé juste après le tiret, la définition de l’option est modifiée mais aucun message ne s’affiche. Si la lettre d’option possède une valeur numérique (comme dans le cas de -b ou -h) ou une valeur chaîne (comme dans le cas de -P ou -t), une nouvelle valeur peut être tapée après la lettre d’option. Si aucune nouvelle valeur n’est tapée, un message décrivant la définition actuelle s’affiche et rien n’est modifié.

--  Cette commande est identique à la commande -, excepté qu’elle est suivie d’un nom d’option long (voir la section OPTIONS ci-après) au lieu d’une simple lettre d’option. Vous devez taper Entrée ou Retour après le nom de l’option. Un ^P juste après le second tiret supprime l’affichage d’un message décrivant la nouvelle définition, comme dans le cas de la commande -.

-+  Suivie d’une des lettres d’option de ligne de commande, cette commande va réinitialiser l’option à sa définition par défaut et afficher un message décrivant la nouvelle définition (la commande « -+X » fait la même chaîne que « -+X » sur la ligne de commande). Cette commande ne fonctionne pas pour les options avec des valeurs chaîne.

--+ Cette commande est identique à la commande -+, excepté qu’elle est suivie d’un nom d’option long au lieu d’une simple lettre d’option.

-!  Suivie d’une des lettres d’option de ligne de commande, cette commande va réinitialiser l’option à l’« opposé » de sa définition par défaut et afficher un message décrivant la nouvelle définition. Cette commande ne fonctionne pas pour les options possédant une valeur numérique ou chaîne.

--! Cette commande est identique à la commande -!, excepté qu’elle est suivie d’un nom d’option long au lieu d’une simple lettre d’option.

_   Tiret bas : suivie d’une des lettres d’option de ligne de commande, cette commande va afficher un message décrivant la définition actuelle de cette option. La définition de l’option n’est pas modifiée.

__  Double tiret bas : cette commande est identique à la commande _ (tiret bas), excepté qu’elle est suivie d’un nom d’option long au lieu d’une simple lettre d’option. Vous devez taper Entrée ou Retour après avoir tapé le nom de l’option.

+commande
    Exécuter la commande spécifiée chaque fois qu’un nouveau fichier est examiné. Par exemple, +G fait que less affiche initialement la fin de chaque fichier plutôt que leur début.

V   Afficher le numéro de version du programme less en cours d’exécution.

q, Q, :q, :Q ou ZZ
    Quitter less.

Les sept commandes suivantes peuvent être disponibles ou non en fonction de votre installation particulière.

v   Invoquer un éditeur pour éditer le fichier actuellement examiné. Le nom de l’éditeur est issu de la variable d’environnement VISUAL si elle est définie, de la variable d’environnement EDITOR si VISUAL n’est pas définie, ou a pour valeur par défaut « vi » si ni VISUAL, ni EDITOR ne sont définies. Voir aussi les explications à propos de LESSEDIT dans la section INVITES ci-après.

! commande_interpréteur
    Invoquer un interpréteur de commande pour exécuter la commande spécifiée. Un signe pourcentage (« % ») dans la commande est remplacé par le nom du fichier actuel. Un signe croisillon (« # ») est remplacé par le nom du fichier précédemment examiné. « !! » réitère l’exécution de la dernière commande d’interpréteur. « ! » sans commande d’interpréteur invoque seulement un interpréteur de commande. Si ^P (Ctrl-P) est tapé immédiatement après le !, aucun message « done » ne sera affiché à l’issue de l’exécution de la commande d’interpréteur. Sur les systèmes Unix, le nom de l’interpréteur de commande est issu de la variable d’environnement SHELL et a pour valeur par défaut « sh ». Sur les systèmes MS-DOS, Windows et OS/2, l’interpréteur de commande est le processeur de commande habituel.

# commande_interpréteur
    Identique à la commande « ! », excepté que la commande spécifiée est développée de la même manière que les chaînes d’invite. Par exemple, le nom du fichier actuel sera spécifié à l’aide de « %f ».

| <m> commande_interpréteur
    <m> représente n’importe quelle lettre de marquage. Cette commande tube une section du fichier d’entrée vers la commande d’interpréteur spécifiée. La section de fichier à tuber se situe entre la position marquée par la lettre spécifiée et l’écran actuel. La totalité de l’écran actuel est incluse, que la position marquée soit avant ou après l’écran actuel. <m> peut aussi être remplacé par ^ ou $ pour indiquer le début ou la fin du fichier, respectivement. Si <m> est remplacé par . ou un caractère nouvelle ligne, c’est l’écran actuel qui sera tubé. Si ^P (Ctrl-P) est tapé immédiatement après la lettre de marquage, aucun message « done » ne sera affiché à l’issue de l’exécution de la commande d’interpréteur.

s nom_fichier
    Sauvegarder l’entrée dans un fichier. Cette commande ne fonctionne que si l’entrée est un tube, pas si c’est un fichier normal.

^O^O
    Exécuter une commande d’interpréteur pour ouvrir l’URI de l’hyperlien OSC 8 actuel sélectionné par une commande ^O^N ou ^O^P précédente. Pour déterminer la commande d’interpréteur à utiliser, la variable d’environnement LESS_OSC8_xxx est lue, où « xxx » est la méthode d’accès de l’URI (la partie située avant le deux-points « : »), ou est vide si l’URI ne contient pas de deux-points. La valeur de la variable d’environnement est ensuite développée de la même manière que les chaînes d’invite (en particulier, toute instance « %o » est remplacée par l’URI) pour produire une commande d’interpréteur « gestionnaire » d’OSC 8. La sortie standard de ce gestionnaire est une commande d’ouverture qui est alors exécutée pour ouvrir l’URI.

    Il y a deux cas particuliers :

        1.  Si l’URI commence par un croisillon « # », le reste de l’URI sera considéré comme l’identifiant d’un autre hyperlien OSC 8 du même fichier, et ^O^O va simplement effectuer un saut vers la cible de ce dernier lien.

        2.  Si la commande d’ouverture commence par les caractères « :e » suivis d’un blanc et d’un nom de fichier, ce dernier sera ouvert dans l’instance actuelle de less au lieu d’exécuter la commande d’ouverture en tant que commande d’interpréteur.

    Dans le cas simple où la commande d’ouverture prend l’URI complet comme paramètre de ligne de commande, le gestionnaire pourra être aussi simple que

    echo mon_navigateur '%o'

    Dans d’autres cas, l’URI devra éventuellement être modifié et le gestionnaire devra peut-être manipuler la valeur de %o.

    Si la variable LESS_OSC8_xxx n’est pas définie, la variable LESS_OSC8_ANY sera consultée. Si aucune des deux variables LESS_OSC8_xxx ou LESS_OSC8_ANY n’est définie, les liens utilisant la méthode d’accès « xxx » ne pourront pas être ouverts. Il existe cependant des gestionnaires par défaut pour les méthodes d’accès « man » (utilisée lorsque LESS_OSC8_man n’est pas définie) et « file » (utilisée lorsque LESS_OSC8_file n’est pas définie) qui devraient fonctionner sur les systèmes qui fournissent la commande sed(1) et un interpréteur de commande possédant une syntaxe compatible avec le Bourne shell sh(1). Si vous utilisez LESS_OSC8_ANY pour outrepasser LESS_OSC8_file, vous devez définir LESS_OSC8_file à « - » pour indiquer que la valeur par défaut ne doit pas être utilisée (même remarque pour LESS_OSC8_man).

    L’URI passé à un gestionnaire OSC 8 à l’aide de %o est garanti ne contenir aucune apostrophe droite simple ou double, mais peut contenir tout autre métacaractère de l’interpréteur de commande comme les points-virgules, les symboles dollar, les perluettes « & », etc. Le gestionnaire doit s’assurer de protéger de manière appropriée les paramètres de la commande d’ouverture avec des guillemets pour éviter l’exécution inattendue de commandes de l’interpréteur de commande lors de l’ouverture d’un URI contenant des métacaractères de l’interpréteur de commande. De même, comme la commande de gestionnaire est développée de la même manière qu’une invite de commande, tout métacaractère interprété par un développement d’invite (comme le pourcentage, le point, le deux-points, la barre oblique inversée, etc.) doit être échappé par une barre oblique inversée (voir la section INVITES pour les détails).

^X  Lorsque le message « Waiting for data » est affiché, par exemple quand on a tapé la commande F, taper ^X va stopper l’attente de less et faire revenir ce dernier à l’invite. Cela aura pour effet de faire croire à less que le fichier se termine à la position courante, et il pourra être nécessaire d’utiliser une commande R ou F pour afficher plus de données. L’option --intr permet de spécifier un autre caractère à utiliser à la place de ^X. Cette commande ne fonctionne que sur les systèmes qui prennent en charge la fonction poll(2) ; sur les autres systèmes, il est possible d’utiliser le caractère d’interruption à la place (en général ^C).

OPTIONS
Les options de la ligne de commande sont décrites ci-après. La plupart d’entre elles peuvent être modifiées pendant l’exécution de less à l’aide de la commande « - ».

Certaines options peuvent être spécifiées sous deux formats : soit un tiret suivi d’une seule lettre, soit deux tirets suivis d’un nom d’option long. Un nom d’option long peut être abrégé tant que l’abréviation ne présente pas d’ambiguïté. Par exemple, --quit-at-eof peut être abrégé en --quit, mais pas en --qui, car les deux options --quit-at-eof et --quiet commencent par --qui. Certains noms d’option longs sont en capitales, comme --QUIT-AT-EOF qui est distincte de --quit-at-eof. Dans ces noms, seule la première lettre doit être en capitale, le reste du nom pouvant être dans n’importe quelle casse. Par exemple, --Quit-at-eof est équivalent à --QUIT-AT-EOF.

Les options sont aussi extraites de la variable d’environnement LESS. Par exemple, pour éviter d’avoir à taper « less -options ... » à chaque invocation de less, vous pouvez taper cette commande sous csh(1) :

setenv LESS "-options"

ou sous sh(1) :

LESS="-options"; export LESS

Vous n’avez pas besoin de guillemets sous MS-DOS et Windows, mais vous devez garder à l’esprit que tout symbole pourcentage dans la chaîne d’options ne sera pas interprété comme un développement de variable d’environnement.

La variable d’environnement LESS étant analysée avant la ligne de commande, les options que comporte cette dernière vont donc outrepasser cette variable d’environnement. Si une option apparaît dans la variable LESS, elle pourra être réinitialisée à sa valeur par défaut au niveau de la ligne de commande en faisant débuter l’option par « -+ ».

Certaines options comme -k ou -D nécessitent qu’une chaîne suive la lettre d’option. Cette chaîne est considérée comme terminée lorsqu’un symbole dollar « $ » est rencontré. Par exemple, vous pouvez définir deux options -D comme suit :

LESS="Dnwb$Dsbw"

Si l’option --use-backslash apparaît au début des options, un symbole dollar ou une barre oblique inversée pourront être insérés littéralement dans une chaîne d’option en les faisant précéder d’une barre oblique inversée. Si l’option --use-backslash n’est pas activée, les barres obliques inversées ne seront pas traitées de manière particulière et il sera impossible d’insérer un symbole dollar dans les chaînes d’option.

-? ou --help
    Cette option affiche un résumé des commandes prises en charge par less (même effet que la commande h). Selon la manière dont votre interpréteur de commande interprète le point d’interrogation, il pourra être nécessaire de protéger ce dernier comme ceci : « -\? ».

-a ou --search-skip-screen
    Par défaut, les recherches vers le bas débutent en haut de l’écran et les recherches vers le haut en bas de l’écran (sauf pour les recherches répétées invoquées par les commandes n ou N qui débutent après ou avant la ligne « cible », respectivement ; voir l’option -j pour plus de détails à propos de la ligne cible). L’option -a fait que les recherches vers le bas débutent en bas de l’écran et les recherches vers le haut en haut de l’écran, donc en sautant toutes les lignes affichées à l’écran.

-A ou --SEARCH-SKIP-SCREEN
    Si cette option est spécifiée, toutes les recherches vers le bas (et non seulement les recherches non répétées) débutent juste après la ligne cible et toutes les recherches vers le haut débutent juste avant cette ligne. Ainsi, les recherches vers le bas/haut vont sauter les lignes entre le haut/bas de l’écran et la ligne cible comprise, respectivement. Il s’agissait du comportement par défaut dans les versions de less antérieures à 441.

-bn ou --buffers=n
    Cette option permet de spécifier la quantité de mémoire tampon que less va utiliser pour chaque fichier, en kibioctets (1024 octets). Par défaut, less utilise 64 Kio de mémoire tampon pour chaque fichier (sauf si le fichier est un tube ; voir l’option -B). À la place, l’option -b permet de spécifier que n Kio de mémoire tampon doivent être utilisés pour chaque fichier. Si n est égal à -1, la quantité de mémoire tampon à utiliser est illimitée, et la totalité du fichier peut être chargée en mémoire.

-B ou --auto-buffers
    Par défaut, lorsque des données sont lues depuis un tube, des tampons sont alloués automatiquement selon les besoins. De ce fait, si une grande quantité de données est lue depuis le tube, une grande quantité de mémoire sera allouée. L’option -B désactive cette allocation automatique de tampons pour les tubes, de façon que seulement 64 Kio (ou la quantité de mémoire spécifiée à l’aide de l’option -b) soient utilisés pour le tube. Attention : utiliser l’option -B peut provoquer un affichage erroné, car seule la partie affichée la plus récente des données tubées est conservée en mémoire ; toute donnée antérieure est perdue. Les caractères perdus sont affichés sous forme de points d’interrogation.

-c ou --clear-screen
    Si cette option est spécifiée, les rafraîchissements complets de l’écran s’effectueront depuis la ligne en haut de l’écran vers le bas. Par défaut, les rafraîchissements complets de l’écran s’effectuent par un défilement à partir du bas de l’écran

-C ou --CLEAR-SCREEN
    Identique à -c, cette option est présente à des fins de compatibilité avec les versions plus anciennes de less.

-d ou --dumb
    L’option -d permet de supprimer le message d’erreur normalement affiché si le terminal est non intelligent ; c’est-à-dire auquel il manque certaines capacités importantes comme la possibilité d’effacer l’écran ou d’effectuer un défilement vers le haut. Cette option ne change rien d’autre dans le comportement de less sur un terminal non intelligent.

-Dxcouleur ou --color=xcouleur
    Cette option permet de changer la couleur de différentes parties du texte affiché. x est un caractère unique qui permet de sélectionner le type du texte dont on veut définir la couleur :

    B   Caractères binaires.

    C   Caractères de contrôle.

    E   Messages d’erreur ou informationnels.

    H   Lignes et colonnes d’en-tête définies à l’aide de l’option --header.

    M   Lettres de marquage dans la colonne d’état.

    N   Numéros des lignes affichés à l’aide de l’option -N.

    P   Invites.

    R   Le caractère « rscroll » (NDT : voir option --rscroll).

    S   Les résultats de recherche.

    W   Le surlignage activé à l’aide de l’option -w.

    1-5 Le texte d’un résultat de recherche qui correspond aux cinq premiers sous-motifs entre parenthèses. La coloration des sous-motifs ne fonctionne que si less a été construit avec une des bibliothèques d’expressions rationnelles posix, pcre ou pcre2.

    d   Texte en gras.

    k   Texte clignotant.

    s   Texte mis en évidence.

    u   Texte souligné.

    Les chiffres et les lettres capitales ne peuvent être utilisés que lorsque l’option --use-color est activée. Lorsqu’une couleur de texte est spécifiée à l’aide d’une lettre en minuscule et d’une autre en capitale, c’est cette dernière qui l’emporte. Par exemple, les messages d’erreur sont en général affichés sous forme de texte mis en évidence ; ainsi, si « s » et « E » sont associés à une couleur, la couleur « E » s’appliquera aux messages d’erreur et la couleur « s » s’appliquera aux autres textes mis en évidence. Les lettres en minuscule font référence au texte en gras et souligné formé par surimpression à l’aide de retours arrière (voir l’option -U) et au texte hors contenu (comme les numéros de ligne et les invites), mais pas au texte formaté en utilisant des séquences d’échappement ANSI à l’aide de l’option -R (voir la note ci-après pour un comportement différent sous Windows et MS-DOS).

    Une lettre en minuscule peut être suivie d’un « + » pour indiquer que le changement par rapport au format normal et la couleur spécifiée doivent être tous les deux appliqués. Par exemple, -Dug affichera le texte souligné en vert sans soulignement ; la couleur verte a remplacé le format souligné habituel. En revanche, -Du+g affichera le texte souligné en vert et avec soulignement.

    couleur est une chaîne de couleur sur 4 ou 8 bits :

    Une chaîne de couleur sur 4 bits comporte un ou deux caractères, le premier spécifiant la couleur d’avant-plan et le second la couleur d’arrière-plan comme suit :

    b   Bleu

    c   Cyan

    g   Vert

    k   Black

    m   Magenta

    r   Rouge

    w   Blanc

    y   Jaune

    La lettre capitale correspondante indique une teinte plus vive de la couleur. Par exemple, -DNGk affichera les numéros de ligne en vert vif sur fond noir, et -DEbR affichera les messages d’erreur en bleu sur fond rouge vif. Si un des deux caractères est « - » ou est omis, la couleur correspondante sera celle du texte normal.

    Une chaîne de couleur sur 8 bits comporte un ou deux entiers décimaux séparés par un point, où le premier entier spécifie la couleur d’avant-plan et le second la couleur d’arrière-plan. Chaque entier est une valeur de 0 à 255 inclus qui correspond à une valeur de couleur « CSI 38;5 » (voir https://en.wikipedia.org/wiki/ANSI_escape_code#SGR). Si un des deux entiers est « - » ou est omis, la couleur correspondante sera celle du texte normal.

    Une chaîne de couleur sur 4 ou 8 bits peut être suivie d’un ou plusieurs des caractères suivants pour définir des attributs de texte en plus de la couleur.

    s ou ~
        Mise en évidence (vidéo inverse)

    u ou _
        Soulignement

    d ou *
        Gras

    l ou &
        Clignotement

    Sur les systèmes MS-DOS et Windows, l’option --color se comporte différemment de ce qui a été décrit ci-avant ; à savoir :

    -   Les attributs de texte gras (d et *) et clignotement (l et &) à la fin d’une chaîne de couleur ne sont pas pris en charge.

    -   Les lettres de sélection de couleur en minuscules font référence au texte formaté par des séquences d’échappement ANSI à l’aide de l’option -R en plus du texte surchargé et hors contenu (voir cependant l’option -Da).

    -   Pour des raisons historiques, lorsqu’une lettre de sélection de couleur en minuscule est suivie d’une valeur de couleur numérique, le nombre n’est pas interprété comme une valeur de couleur « CSI 38;5 » comme décrit ci-avant, mais comme une valeur CHAR_INFO.Attributes sur 4 bits entre 0 et 15 inclus (voir https://learn.microsoft.com/en-us/windows/console/char-info-str).

        Pour éviter toute confusion, plutôt que des nombres, il est recommandé d’utiliser les lettres équivalentes après une lettre de sélection de couleur en minuscule sous MS-DOS/Windows.

    -   Les valeurs de couleur numériques (couleurs « CSI 38;5 ») suivant une lettre de sélection de couleur en capitale ne sont pas prises en charge sur les systèmes antérieurs à Windows 10.

    -   Seul un ensemble limité de séquences d’échappement ANSI pour définir des couleurs dans le contenu fonctionne correctement. Les séquences de couleur sur 4 bits fonctionnent, mais pas les séquences de couleur « CSI 38;5 ».

    -   L’option -Da rend le comportement de l’option --color plus proche de son comportement sur les systèmes non-MS-DOS/Windows premièrement en faisant que les lettres de sélection de couleur en minuscules n’affectent pas le texte formaté avec des séquences d’échappement ANSI, et deuxièmement en permettant aux séquences de couleurs « CSI 38;5 » dans le contenu de fonctionner en les transmettant au terminal (seulement à partir de Windows 10 ; avec les versions plus anciennes, de telles séquences ne fonctionnent pas, quelle que soit la valeur de l’option -Da).

-e ou --quit-at-eof
    Cette option fait que less quitte automatiquement lorsqu’il atteint la fin du fichier pour la deuxième fois. Par défaut, le seul moyen de quitter less consiste à utiliser la commande « q ».

-E ou --QUIT-AT-EOF
    Cette option fait que less quitte automatiquement lorsqu’il atteint la fin du fichier pour la première fois.

-f ou --force
    Cette option permet de forcer l’ouverture des fichiers « non normaux » (un fichier non normal est un répertoire ou un fichier spécial de périphérique). Elle supprime aussi le message d’avertissement qui s’affiche lors de l’ouverture d’un fichier binaire. Par défaut, less refuse d’ouvrir les fichiers non normaux. Notez que certains systèmes d’exploitation ne permettront pas la lecture de répertoires, même si l’option -f est utilisée.

-F ou --quit-if-one-screen
    Cette option fait que less quitte automatiquement si la totalité du fichier peut être affichée à l’écran.

-g ou --hilite-search
    Normalement, less surligne TOUTES les chaînes qui correspondent à la dernière commande de recherche. Avec l’option -g, ce comportement est modifié et less ne va surligner que la chaîne particulière qui a été trouvée par la dernière commande de recherche, ce qui peut rendre l’exécution de less un peu plus rapide qu’avec le comportement par défaut.

-G ou --HILITE-SEARCH
    L’option -G supprime tout surlignage des chaînes trouvées par une commande de recherche.

-hn ou --max-back-scroll=n
    Cette option permet de spécifier le nombre maximal de lignes à faire défiler vers le haut. S’il est nécessaire de défiler vers le haut de plus que n lignes, l’écran sera rafraîchi vers le bas plutôt que vers le haut (si le terminal est incapable de défiler vers le haut, l’option -h0 est implicite).

-i ou --ignore-case
    Cette option permet de spécifier que la casse doit être ignorée ; autrement dit, les minuscules et les capitales seront considérées comme identiques. Cette option est ignorée si une capitale apparaît dans un motif de recherche ; en d’autres termes, si un motif contient des lettres capitales, la recherche tiendra compte de la casse.

-I ou --IGNORE-CASE
    Cette option est identique à l’option -i, excepté que les recherches ignoreront la casse même si le motif contient des lettres capitales.

-jn ou --jump-target=n
    Cette option permet de spécifier une ligne de l’écran où la ligne « cible » devra être positionnée. La ligne cible est la ligne spécifiée par toute commande de recherche d’un motif, de saut vers un numéro de ligne, vers un pourcentage du fichier ou vers un symbole. La ligne de l’écran peut être spécifiée à l’aide d’un numéro : la ligne du haut de l’écran porte le numéro 1, la suivante le numéro 2 et ainsi de suite. Ce numéro peut être négatif pour spécifier un numéro de ligne relatif au bas de l’écran : la ligne du bas de l’écran porte le numéro -1, la précédente le numéro -2 et ainsi de suite. La ligne de l’écran peut aussi être spécifiée sous la forme d’une fraction de la hauteur de l’écran commençant par le symbole décimal : .5 correspond au milieu de l’écran, .3  aux trois dixièmes à partir de la première ligne et ainsi de suite. Si la ligne est spécifiée sous forme de fraction, le numéro de ligne effectif sera recalculé si la fenêtre du terminal est redimensionnée. Si l’option --header est utilisée et si la ligne spécifiée à l’aide de l’option -j devrait être recouverte par l’en-tête, la ligne cible sera redéfinie à la première ligne après l’en-tête. Si l’option --header est active, l’option -S sera ignorée et les lignes plus longues que la largeur de l’écran seront tronquées.

    Si l’option -j est spécifiée sous quelque forme que ce soit, les répétitions de recherche vers le bas, invoquées à l’aide de « n » ou « N », commenceront à la ligne qui suit immédiatement la ligne cible, et les répétitions de recherche vers le haut à la ligne cible, sauf si ce comportement est modifié à l’aide des options -a ou -A. Si par exemple « -j4 » est spécifié, la ligne cible correspondra à la quatrième ligne de l’écran et les répétitions de recherche vers le bas commencerons à la cinquième ligne de l’écran. Les recherches ponctuelles, invoquées à l’aide de « / » ou « ? », commencent toujours quant à elles à partir du haut ou du bas de l’écran, respectivement.

-J ou --status-column
    Cette option permet d’afficher une colonne d’état sur le côté gauche de l’écran. Le caractère affiché dans la colonne d’état peut être :

    >   La ligne est tronquée à droite avec l’option -S et le texte situé au delà du côté droit de l’écran contient une correspondance pour la recherche en cours.

    <   La ligne est décalée horizontalement vers la gauche et le texte situé au delà du côté gauche de l’écran contient une correspondance pour la recherche en cours.

    =   La ligne est tronquée à droite et décalée vers la gauche et il y a des correspondances pour la recherche en cours au delà des deux côtés de l’écran.

    *   Il y a des correspondances pour la recherche en cours dans la partie visible de la ligne, mais aucune à droite ou à gauche de cette dernière.

    a-z, A-Z
        La ligne a été marquée avec la lettre correspondante à l’aide de la commande m.

-knom_fichier ou --lesskey-file=nom_fichier
    Cette option fait que less ouvre et interprète le fichier spécifié en tant que fichier binaire lesskey(1). Il est possible de spécifier plusieurs options -k. Si la variable d’environnement LESSKEY ou LESSKEY_SYSTEM est définie ou si un fichier lesskey(1) est trouvé à un emplacement standard (voir la section RACCOURCIS CLAVIER), il sera aussi utilisé en tant que fichier lesskey(1). Voir l’avertissement dans la description de l’option « --lesskey-content » ci-après.

--lesskey-src=nom_fichier
    Cette option fait que less ouvre et interprète le fichier spécifié en tant que fichier source lesskey(1). Si la variable d’environnement LESSKEYIN ou LESSKEYIN_SYSTEM est définie ou si un fichier source lesskey(1) est trouvé à un emplacement standard (voir la section RACCOURCIS CLAVIER), il sera aussi utilisé en tant que fichier source lesskey(1). Avant la version 582, le programme lesskey(1) devait être exécuté pour convertir un fichier source lesskey(1) en fichier binaire lesskey(1) pouvant être utilisé par less. Les versions plus récentes de less lisent directement le fichier source lesskey(1) et ignorent le fichier binaire si le fichier source existe. Voir l’avertissement dans la description de l’option « --lesskey-content » ci-après.

--lesskey-content=texte
    Cette option fait que less interprète le texte spécifié comme le contenu d’un fichier source lesskey(1). Dans le texte, les lignes lesskey(1) peuvent être séparées soit par des caractères nouvelle ligne, comme d’habitude, soit par des points-virgules. Un point-virgule littéral peut être représenté par une barre oblique inversée suivie d’un point-virgule.

    Attention : certaines variables d’environnement comme LESS, LESSSECURE, LESSCHARSET et d’autres, qui sont utilisées au début du processus de démarrage, ne peuvent pas être définies dans un fichier spécifié par une option sur la ligne de commande (--lesskey, --lesskey-src ou --lesskey-content). Lorsqu’on utilise un fichier lesskey(1) pour définir des variables d’environnement, il est plus sûr d’utiliser le fichier lesskey(1) par défaut ou de spécifier le fichier en utilisant les variables d’environnement LESSKEYIN ou LESSKEY_CONTENT plutôt que d’utiliser une option sur la ligne de commande.

-K ou --quit-on-intr
    Cette option fait que less quitte immédiatement (avec un code de retour 2) lorsqu’un caractère d’interruption est tapé (en général ^C). Par défaut, lorsqu’un caractère d’interruption est tapé, less interrompt ce qu’il est en train de faire et revient à l’invite de commande. Notez que l’utilisation de cette option rend impossible le retour à l’invite de commande depuis la commande F.

-L ou --no-lessopen
    Ignorer la variable d’environnement LESSOPEN (voir la section PRÉPROCESSEUR D’ENTRÉE ci-après). Cette option peut être définie pendant l’exécution de less, mais elle ne s’appliquera alors qu’aux fichiers qui seront ouverts subséquemment, pas au fichier actuellement ouvert.

-m ou --long-prompt
    Cette option fait que less affiche son invite en mode prolixe (comme more(1)), en indiquant le pourcentage du fichier auquel on est positionné. Par défaut, l’invite de less est un deux-points « : ».

-M ou --LONG-PROMPT
    Cette option fait que less affiche son invite de manière encore plus prolixe que more(1).

-n ou --line-numbers
    Supprimer les numéros de ligne. Le comportement par défaut (utiliser les numéros de ligne) peut provoquer un ralentissement de l’exécution de less, particulièrement avec de très gros fichiers en entrée. Supprimer les numéros de ligne à l’aide de l’option -n évitera ce problème. Utiliser les numéros de ligne signifie que le numéro de ligne sera affiché dans l’invite prolixe et par la commande =, et que la commande v transmettra le numéro de ligne actuel à l’éditeur (voir aussi la description de LESSEDIT dans la section INVITES ci-après).

-N ou --LINE-NUMBERS
    Afficher le numéro de ligne au début de chaque ligne affichée.

-onom_fichier ou --log-file=nom_fichier
    Cette option fait que less copie son entrée vers le fichier indiqué lorsqu’il est visualisé. Cette option ne s’applique que lorsque le fichier d’entrée est un tube, pas lorsqu’il s’agit d’un fichier normal. Si le fichier indiqué existe déjà, less demandera confirmation avant de l’écraser.

-Onom_fichier ou --LOG-FILE=nom_fichier
    L’option -O est identique à l’option -o, excepté qu’elle écrasera un fichier existant sans demander de confirmation.

    Si aucun fichier de trace n’a été spécifié, il est possible de le faire pendant l’exécution de less à l’aide des options -o et -O. Sans nom de fichier, elles indiqueront simplement le nom du fichier de trace. La commande s revient à spécifier l’option -o pendant l’exécution de less.

-pmotif ou --pattern=motif
    L’option -p sur la ligne de commande revient à spécifier +/motif ; autrement dit, elle fait que less démarre à la première occurrence de motif dans le fichier.

-Pinvite ou --prompt=invite
    Cette option permet de personnaliser les trois styles d’invite avec vos propres préférences. Cette option devrait normalement être placée dans la variable d’environnement LESS plutôt que d’être saisie avec chaque commande less. Cette option doit être soit la dernière option de la variable LESS, soit terminée par un symbole dollar.
     -Ps suivi d’une chaîne remplace l’invite (courte) par défaut par cette chaîne.
     -Pm modifie l’invite moyenne (-m).
     -PM modifie l’invite longue (-M).
     -Ph modifie l’invite de l'écran d'aide.
     -P= modifie le message affiché par la commande =.
     -Pw modifie le message affiché pendant l’attente de données (avec la commande F).

    Toutes les chaînes d’invite consistent en une séquence de lettres et des séquences d’échappement spéciales. Voir la section INVITES pour plus de détails.

-q, --quiet ou --silent
    Si cette option est spécifiée, les opérations s’effectuent de manière modérément « silencieuse » : la sonnerie du terminal n’est pas activée si l’on tente de franchir la fin ou le début du fichier. À la place, c’est l’« alarme visuelle » qui est utilisée, si le terminal en possède une. La sonnerie sera activée pour certaines autres erreurs, comme taper un caractère non valable. Par défaut, la sonnerie est activée dans tous ces cas.

-Q, --QUIET ou --SILENT
    Si cette option est spécifiée, les opérations s’effectuent de manière totalement « silencieuse » : la sonnerie du terminal n’est jamais activée. Dans tous les cas où la sonnerie devrait être activée, c’est l’« alarme visuelle » qui est utilisée, si le terminal en possède une.

-r ou --raw-control-chars
    Si cette option est spécifiée, les caractères de contrôle sont affichés « tels quels ». Par défaut, les caractères de contrôle sont affichés en utilisant le caret ; par exemple, Ctrl-A (001 en octal) est affiché sous la forme « ^A » (avec quelques exceptions comme décrit avec l’option -U). Attention : lorsque l’option -r est utilisée, less ne peut pas garder la trace de l’apparence actuelle de l’écran (car cela dépend de la manière dont l’écran répond à chaque type de caractère de contrôle). Plusieurs problèmes d’affichage peuvent ainsi survenir, comme le découpage de longues lignes au mauvais endroit.

    L’UTILISATION DE L’OPTION -r EST DÉCONSEILLÉE.

-R ou --RAW-CONTROL-CHARS
    Identique à -r, excepté que seules les séquences d’échappement de « couleur » ANSI et les séquences d’hyperlien OSC 8 sont affichées « telles quelles ». À la différence de -r, l’apparence de l’écran reste correcte, pourvu qu’il n’y ait pas de séquences d’échappement dans le fichier autres que ces types de séquence d’échappement. Les séquences d’échappement de « couleur » ne sont prises en charge que lorsque la couleur est modifiée au sein d’une ligne, pas sur plusieurs lignes. Autrement dit, le début de chaque ligne est présupposé normal (non coloré), que des séquences d’échappement soient présentes ou non dans les lignes précédentes. Afin de garder une trace de l’apparence de l'écran, ces séquences d'échappement sont supposées ne pas déplacer le curseur.

    Les hyperliens OSC 8 sont des séquences de la forme :

      ÉCH ] 8 ; ... \7

    La séquence terminale peut être soit le caractère de sonnerie BEL (\7), soit la séquence de deux caractères « ESC \ ».

    Les séquences d’échappement de couleur ANSI sont des séquences de la forme :

      ÉCH [ ... m

    où « ... » correspond à zéro ou plusieurs caractères de spécification de couleur. Vous pouvez indiquer à less que les caractères autres que « m » peuvent terminer les séquences d’échappement de couleur ANSI en définissant la variable d’environnement LESSANSIENDCHARS avec la liste des caractères qui peuvent terminer les séquences d’échappement de couleur. Vous pouvez aussi indiquer à less que des caractères autres que les caractères standards peuvent apparaître entre le ÉCH et le « m » en définissant la variable d’environnement LESSANSIMIDCHARS avec la liste des caractères qui peuvent apparaître.

-s ou --squeeze-blank-lines
    Si cette option est spécifiée, plusieurs lignes vides consécutives sont rassemblées en une seule ligne vide, ce qui s’avère utile lorsqu’on visualise une sortie de nroff(1).

-S ou --chop-long-lines
    Si cette option est spécifiée, les lignes plus longues que la largeur de l’écran sont coupées (tronquées) au lieu d’être repliées à la ligne. Autrement dit, la portion d’une longue ligne qui dépasse le largeur de l’écran ne sera pas affichée, à moins que vous ne pressiez la touche FLÈCHE-DROITE. Par défaut, les longues lignes sont repliées à la ligne ; autrement dit, la portion d’une longue ligne qui dépasse le largeur de l’écran est affichée sur la ligne suivante. Voir aussi l’option --wordwrap.

-tsymbole ou --tag=symbole
    L’option -t immédiatement suivie d’un SYMBOLE va éditer le fichier contenant ce symbole. Pour que cela fonctionne, des informations à propos des symboles doivent être disponibles ; par exemple, il doit exister dans le répertoire actuel un fichier nommé « tags » préalablement construit à l’aide de ctags(1) ou d’une commande équivalente. Si la variable d’environnement LESSGLOBALTAGS est définie, elle sera supposée contenir le nom d’une commande compatible avec global(1), et cette commande sera exécutée pour trouver le symbole (voir http://www.gnu.org/software/global/global.html). L’option -t peut aussi être spécifiée pendant l’exécution de less (en utilisant la commande -) pour examiner un nouveau fichier. La commande :t équivaut à spécifier -t pendant l’exécution de less.

-Tfichier_symboles ou --tag-file=fichier_symboles
    Cette option permet de spécifier un fichier de symboles à utiliser à la place de « tags ».

-u ou --underline-special
    Si cette option est spécifiée, les retours arrière et les retours chariot sont traités comme des caractères imprimables ; autrement dit, ils sont envoyés au terminal lorsqu’ils apparaissent en entrée.

-U ou --UNDERLINE-SPECIAL
    Si cette option est spécifiée, les retours arrière, les tabulations, les retours chariot et les « caractères de formatage » (tels que définis par Unicode) sont traités comme des caractères de contrôle ; autrement dit, ils sont gérés selon les spécifications de l’option -r.

    Par défaut, si aucune option -u ou -U n’est spécifiée, les retours arrière qui sont adjacents à un caractère de soulignement « _ » sont traités de manière spéciale : le texte souligné est affiché en utilisant la capacité de soulignement matérielle du terminal. Les retours arrière qui apparaissent entre deux caractères identiques sont aussi traités spécialement : le texte surchargé est affiché en utilisant la capacité d’écriture en gras matérielle du terminal. Les autres retours arrière sont supprimés, ainsi que le caractère qui précède. Les retours chariot immédiatement suivis d’un caractère nouvelle ligne sont supprimés. Les autres retours chariot sont gérés selon les spécifications de l’option -r. Les caractères de formatage Unicode, tels que l’indicateur d’ordre des octets (Byte Order Mark), sont envoyés au terminal. Il est possible de rechercher le texte surchargé ou souligné si aucune option -u ou -U n’est active.

    Voir aussi les options --proc-backspace, --proc-tab et --proc-return.

-V ou --version
    Afficher le numéro de version de less.

-w ou --hilite-unread
    Si cette option est spécifiée, la première « nouvelle » ligne après un défilement vers le bas d’une page entière est temporairement surlignée. La première « nouvelle » ligne est la ligne qui suit immédiatement la ligne qui se situait préalablement au bas de l’écran. La ligne cible est aussi surlignée après une commande g ou p. Le surlignage est supprimé à la prochaine commande de mouvement. Si l’option --status-line est active, l’ensemble de la ligne (sur toute la largeur de l’écran) est surligné ; sinon, seul le texte de la ligne est surligné à moins que l’option -J ne soit active, auquel cas seule la portion de ligne dans la colonne d’état est surlignée.

-W ou --HILITE-UNREAD
    Identique à -w, excepté que la première « nouvelle » ligne est temporairement surlignée après tout mouvement vers le bas de plus d’une ligne.

-xn,... ou --tabs=n,...
    Cette option permet de définir les taquets de tabulation. Si un seul n est spécifié, les taquets de tabulation sont situés aux multiples de n. Si plusieurs n séparés par des virgules sont spécifiés, les taquets de tabulation sont situés à ces différentes positions, l’espace entre les deux derniers taquets étant conservé comme espace entre les taquets suivants. Par exemple, « -x9,17 » définira les positions des différents taquets à 9, 17, 25, 33, etc. n a pour valeur par défaut 8.

-X ou --no-init
    Cette option permet de désactiver l’envoi des chaînes d’initialisation et de désinitialisation de termcap(5). Cela peut s’avérer souhaitable si la chaîne de désinitialisation effectue des opérations non nécessaires comme effacer l’écran.

-yn ou --max-forw-scroll=n
    Cette option permet de spécifier le nombre maximal de lignes à faire défiler vers le bas. S’il est nécessaire de faire défiler vers le bas de plus de n lignes, l’écran sera rafraîchi au lieu d’être l’objet d’un défilement. L’option -c ou -C permet de rafraîchir l’écran à partir du haut, si souhaité. Par défaut, tout mouvement vers le bas provoque un défilement.

-zn, --window=n ou -n
    Cette option permet de définir la taille par défaut de la fenêtre de défilement à n lignes. La taille par défaut initiale est d’un écran entier. Les commandes z et w permettent aussi de changer la taille de la fenêtre. Le « z » peut être omis à des fins de compatibilité avec certaines versions de more(1). Un nombre n négatif définit une taille de fenêtre inférieure de n lignes à la taille actuelle de l’écran. Par exemple, si l’écran a 24 lignes, -z-4 définira la taille de la fenêtre de défilement à 20 lignes. Si l’écran est redimensionné à 40 lignes, la taille de la fenêtre de défilement sera automatiquement redéfinie à 36 lignes.

-"cc ou --quotes=cc
    Cette option permet de changer le caractère de protection des noms de fichier. Cela peut s’avérer nécessaire si vous essayez de nommer un fichier avec un nom contenant des espaces et des apostrophes droites. Suivie d’un seul caractère, cette option change le caractère de protection pour le caractère spécifié. Au lieu de devoir être entouré d’apostrophes droites doubles, un nom de fichier contenant des espaces devra alors être entouré de caractères comme celui spécifié. Suivie de deux caractères, cette option change le caractère de protection ouvrant pour le premier caractère spécifié et le caractère de protection fermant pour le second caractère spécifié. Les noms de fichier contenant une espace devront alors être précédés du caractère de protection ouvrant et suivis du caractère de protection fermant. Notez que même après un changement de caractères de protection, cette option reste -" (un tiret suivi d’une apostrophe droite double).

-~ ou --tilde
    Normalement, les lignes situées après la fin du fichier sont affichées sous la forme d’un simple tilde (~). Si cette option est spécifiée, ces lignes seront affichées comme des lignes vides.

-# ou --shift
    Cette option permet de spécifier le nombre de positions à faire défiler horizontalement avec les commandes FLÈCHE_DROITE et FLÈCHE_GAUCHE. Si ce nombre est égal à zéro, le nombre de positions par défaut correspondra à la moitié de la largeur de l’écran. Autrement, le nombre peut être spécifié sous forme d’une fraction de la largeur de l’écran précédée d’un point décimal : .5 correspond à la moitié de la largeur de l’écran, .3 aux trois dixièmes, etc. Si la fenêtre du terminal est redimensionnée alors que le nombre est spécifié sous forme de fraction, le nombre effectif de positions de défilement sera recalculé.

--exit-follow-on-close
    Si cette option est spécifiée, lorsqu’on utilise la commande F sur un tube, less arrêtera automatiquement d’attendre des données lorsque l’extrémité d’entrée du tube sera fermée.

--file-size
    Si cette option est spécifiée, less va déterminer la taille du fichier immédiatement après son ouverture. La commande = affichera alors le nombre de lignes du fichier. Normalement, cette opération n’est pas effectuée, car elle peut être longue si le fichier d’entrée ne peut pas être accédé aléatoirement (comme dans le cas d’un tube) et est de grande taille.

--follow-name
    Normalement, si le fichier d’entrée est renommé pendant qu’une commande F est en cours d’exécution, less continuera malgré tout d’afficher le contenu du fichier d’origine. Si cette option est spécifiée pendant l’exécution d’une commande F, less va essayer périodiquement de réouvrir le fichier par son nom. Si la réouverture réussit alors que le fichier est différent du fichier d’origine (ce qui signifie qu’un nouveau fichier a été créé avec le même nom que le fichier d’origine maintenant renommé), less affichera le contenu de ce nouveau fichier.

--header=L,C,N
    Cette option permet de définir le nombre de colonnes et de lignes d’en-tête à afficher à l’écran. Le nombre de lignes d’en-tête est défini à L. Si L est égal à 0, les lignes d’en-tête sont désactivées. Si L est vide ou manquant, le nombre de lignes d’en-tête est inchangé. Le nombre de colonnes d’en-tête est défini à C. Si C est égal à 0, les colonnes d’en-tête sont désactivées. Si C est vide ou manquant, le nombre de colonnes d’en-tête est inchangé. La première ligne d’en-tête est définie à la ligne N du fichier. Si N est vide ou manquant, sa valeur est définie au numéro de la ligne actuellement affichée comme première ligne de l’écran (si la commande --header a été exécutée pendant l’exécution de less), ou à 1 (si l’option --header a été spécifiée sur la ligne de commande). Le format spécial « --header=- » désactive les lignes et colonnes d’en-tête et est équivalent à « --header=0,0 ».

    Si L est différent de zéro, les L premières lignes à partir du haut de l’écran sont remplacées par les L lignes du fichier à partir de la ligne N, quelle que soit la portion du fichier actuellement affichée à l’écran. Lorsque des lignes d’en-tête sont affichées, tout contenu du fichier situé avant ces dernières ne peut être affiché. Si C est différent de zéro, les C premiers caractères affichés au début de chaque ligne sont remplacés par les C premiers caractères de la ligne, même si le reste de la ligne fait l’objet d’un défilement horizontal.

--incsearch
    Lorsque cette option est spécifiée, les recherches suivantes seront « incrémentales » ; autrement dit, less va avancer vers la prochaine ligne contenant le motif de recherche au fur et à mesure de la progression de la frappe de ce dernier.

--intr=c
    Cette option permet de spécifier le caractère c à utiliser à la place de ^X pour interrompre une lecture lorsque le message « Waiting for data » est affiché. c doit être un caractère ASCII ; c’est-à-dire dont la valeur est comprise entre 1 et 127 inclus. Pour spécifier un caractère de contrôle, utilisez un caret « ^ » suivi d’un unique caractère.

--line-num-width=n
    Cette option permet de définir la longueur minimale du champ numéro de ligne à n caractères lorsque l’option -N est active. La valeur par défaut est 7.

--match-shift=n
    Lorsque l’option -S est active, si une correspondance de recherche n’est pas visible parce qu’elle est située à gauche ou à droite de la zone de visibilité de l’écran, le texte sera décalé horizontalement de façon que la correspondance de recherche soit visible. L’option --match-shift permet de définir le numéro de colonne auquel le premier caractère de la correspondance de recherche sera placé après le décalage. En d’autres termes, il y aura n caractères visibles à gauche de la correspondance de recherche.

    Ce numéro de colonne peut aussi être spécifié sous la forme d’une fraction de la largeur de l’écran précédée d’un point décimal : .5 correspondra à la moitié de la largeur de l’écran, .3 aux trois dixièmes, etc. Lorsque le numéro de colonne est spécifié sous cette forme, son numéro effectif sera recalculé si la fenêtre du terminal est redimensionnée.

--modelines=n
    Si cette option est définie, avant d’afficher le contenu d’un fichier, less va en lire les n premières lignes pour tenter d’y trouver une ligne d’options (modeline) compatible avec vim. Si n est égal à zéro, less n’essaiera pas de trouver une ligne d’options. En utilisant une ligne d’options, le fichier peut spécifier lui-même les taquets de tabulation qui devront être utilisés lors de sa visualisation.

    Une ligne d’options contient, quelque part dans la ligne, un nom de programme (« vi », « vim », « ex » ou « less ») suivi d’un deux-points « : », éventuellement du mot « set » et enfin de zéro ou plusieurs définitions d’option. Si le mot « set » est utilisé, les définitions d’option sont séparées par des espaces et se terminent au premier deux-points. Si le mot « set » est absent, les définitions d’option peuvent être séparées par des espaces ou des deux-points. Le mot « set » est obligatoire si le nom du programme est « less » et facultatif avec tout autre des trois noms. Si une définition d’option est de la forme « tabstop=n » ou « ts=n », les taquets de tabulation seront définis automatiquement si l’option --tabs=n a été spécifiée. Voir la description de l’option --tabs pour les valeurs possibles de n.

--mouse
    Cette option permet d’activer l’utilisation de la souris : faire tourner la molette de la souris vers soi entraîne un défilement vers le bas du fichier, la faire tourner en sens opposé entraînant un défilement vers le haut ; un clic gauche définit la marque « # » pour la ligne sur laquelle on a cliqué et un clic droit (ou autre) renvoie à la position correspondant à la marque « # ». Effectuer un clic gauche sur un hyperlien OSC 8 va sélectionner ce dernier de la même manière qu’avec la commande ^O^N. Effectuer un clic gauche sur un hyperlien OSC 8 déjà sélectionné va ouvrir ce dernier de la même manière qu’avec la commande ^O^O. Le nombre de lignes à faire défiler lorsqu’on fait tourner la molette d’un cran peut être défini à l’aide de l’option --wheel-lines. La souris n’est utilisable qu’avec la version Windows de less et sur les terminaux qui prennent en charge la transmission des évènements liés à la souris sous X11.

--MOUSE
    Identique à --mouse, excepté que la direction de défilement suite à une rotation de la molette de la souris est inversée.

--no-keypad
    Cette option permet de désactiver l’envoi des chaînes d’initialisation et de désinitialisation du pavé numérique au terminal. Elle peut s’avérer utile si ces chaînes provoquent un comportement inapproprié du pavé numérique.

--no-histdups
    Cette option fait que si une chaîne de recherche ou un nom de fichier est tapé et si la même chaîne se trouve déjà dans la liste de l’historique, cette dernière sera supprimée de la liste avant d’y ajouter la nouvelle ; ainsi, une chaîne donnée n’apparaîtra qu’une fois dans la liste de l’historique (alors que sans cette option, elle pourra y apparaître plusieurs fois).

--no-number-headers
    Si cette option est spécifiée, les lignes d’en-tête (définies à l’aide de l’option --header) ne se verront pas assigner de numéro. La ligne numéro 1 sera alors assignée à la première ligne après les lignes d’en-tête.

--no-search-header-lines
    Si cette option est spécifiée, les recherches n’incluent pas les lignes d’en-tête, mais incluent tout de même les colonnes d’en-tête.

--no-search-header-columns
    Si cette option est spécifiée, les recherches n’incluent pas les colonnes d’en-tête, mais incluent tout de même les lignes d’en-tête.

--no-search-headers
    Si cette option est spécifiée, les recherches n’incluent ni les lignes, ni les colonnes d’en-tête.

--no-vbell
    Cette option permet de désactiver l’« alarme visuelle » du terminal.

--proc-backspace
    Si cette option est spécifiée, les retours arrière (backspaces) sont traités comme si aucune des options -u ou -U n’était définie. Autrement dit, un retour arrière adjacent à un caractère de soulignement provoquera le soulignement du texte, et un retour arrière entre deux caractères identiques provoquera un affichage du texte en gras. Cette option l’emporte sur les options -u et -U, si bien que l’affichage des retours arrière peut être contrôlé séparément de celui des tabulations et des retours chariot. Si elle n’est pas définie, l’affichage des retours arrière est contrôlé à l’aide des options -u et -U.

--PROC-BACKSPACE
    Si cette option est spécifiée, les retours arrière (backspaces) sont traités comme si l’option -U était définie ; autrement dit, les retours arrières sont traités comme des caractères de contrôle.

--proc-return
    Si cette option est spécifiée, les retours chariot sont traités comme si aucune des options -u ou -U n’était définie. Autrement dit, un retour chariot immédiatement suivi d’un caractère nouvelle ligne sera supprimé. Cette option l’emporte sur les options -u et -U, si bien que l’affichage des retours chariot peut être contrôlé séparément de celui des tabulations et des retours arrière. Si elle n’est pas définie, l’affichage des retours chariot est contrôlé à l’aide des options -u et -U.

--PROC-RETURN
    Si cette option est spécifiée, les retours chariot sont traités comme si l’option -U était définie ; autrement dit, les retours chariot sont traités comme des caractères de contrôle.

--proc-tab
    Si cette option est spécifiée, les tabulations sont traitées comme si l’option -U n’était pas définie. Autrement dit, les tabulations sont développées en espaces. Cette option l’emporte sur l’option -U, si bien que l’affichage des tabulations peut être contrôlé séparément de celui des retours arrière et des retours chariot. Si elle n’est pas définie, l’affichage des tabulations est contrôlé à l’aide de l’option -U.

--PROC-TAB
    Si cette option est spécifiée, les tabulations sont traitées comme si l’option -U était définie ; autrement dit, les tabulations sont traitées comme des caractères de contrôle.

--redraw-on-quit
    Si cette option est spécifiée, lorsqu’on quitte less après avoir envoyé la chaîne de désinitialisation du terminal, la totalité de l’écran précédent sera rafraîchie. Sur les terminaux avec écran alternatif (alt screen terminal), cette option fait que le dernier écran entier d’affichage du fichier visualisé reste visible après que less a quitté.

--rscroll=c
    Cette option permet de spécifier le caractère utilisé pour marquer les lignes tronquées. Elle peut débuter par un indicateur d’attribut à deux caractères comme le fait LESSBINFMT. S'il n'y a pas d’indicateur d’attribut, la mise en évidence (standout) est utilisée. Si la valeur est « - », les lignes tronquées ne sont pas marquées.

--save-marks
    Cette option permet de sauvegarder les marques dans le fichier d’historique de façon qu’elles soient conservées d’une invocation de less à l’autre.

--search-options=...
    Cette option permet de définir les modificateurs de recherche par défaut. La valeur est une chaîne d’un ou plusieurs caractères parmi E, F, K, N, R ou W. Spécifier l’un d’entre eux revient à taper ce caractère de contrôle au début de tout motif de recherche. Par exemple, définir --search-options=W revient à taper ^W au début de chaque motif. La valeur peut aussi contenir un chiffre de 1 à 5, ce qui revient à taper ^S suivi de ce chiffre au début de tout motif de recherche. La valeur « - » désactive tous les modificateurs de recherche par défaut.

--show-preproc-errors
    Si un préprocesseur produit des données, puis quitte avec un code de retour différent de zéro, less affichera un avertissement.

--status-col-width=n
    Cette option permet de définir la largeur de la colonne d’état lorsque l’option -J a été spécifiée. La largeur par défaut est de 2 caractères.

--status-line
    Si une ligne est marquée, la totalité de cette dernière sera surlignée (pas seulement la colonne d’état). Les lignes surlignées suite à l’utilisation de l’option -w le seront aussi en totalité. Si l’option --use-color est définie, la ligne sera colorée au lieu d’être surlignée.

--use-backslash
    Cette option modifie l’interprétation des options qui la suivent. Après l’option --use-backslash, toute barre oblique inversée dans une chaîne d’option sera supprimée et le caractère qui la suivait sera interprété littéralement. Il est ainsi possible d’inclure un signe dollar dans une chaîne d’option.

--use-color
    Cette option permet d’activer la coloration du texte en divers emplacements. L’option -D permet de changer ces couleurs. La coloration du texte ne fonctionne que si le terminal prend en charge les séquences d’échappement de couleur ANSI (telles que définies dans https://www.ecma-international.org/publications-and-standards/standards/ecma-48).

--wheel-lines=n
    Cette option permet de définir le nombre de lignes à faire défiler lorsque la molette de la souris est tournée d’un cran et si l’option --mouse ou --MOUSE a été spécifiée. La valeur par défaut est 1 ligne.

--wordwrap
    Lorsque l’option -S n’a pas été spécifiée, cette option fait que les passages à la ligne s’effectuent au niveau d’une espace ou d’une tabulation lorsque c’est possible, de sorte qu’un mot ne soit pas réparti sur deux lignes. Par défaut, les passages à la ligne s’effectuent au niveau de n’importe quel caractère.

--  Un argument « -- » sur la ligne de commande marque la fin de la liste des arguments d’option. Tout argument situé après cette marque sera interprété comme un nom de fichier, ce qui peut s’avérer utile pour visualiser un fichier dont le nom commence par un « - » ou un « + ».

+   Si une option de la ligne de commande commence par « + », le reste de cette option sera interprété comme une commande initiale de less. Par exemple, +G fera qu’au lieu de démarrer au début du fichier, less démarrera à la fin, et +/xyz fera que less démarre à la première occurrence de « xyz » dans le fichier. +<numéro> est un cas particulier, car il agit comme +<numéro>g ; c’est à dire qu’il démarre l’affichage au numéro de ligne spécifié (voir cependant l’avertissement dans la description de la commande g ci-avant). Si l’option commence par « ++ », la commande initiale s’appliquera à tous les fichiers visualisés, et pas seulement au premier. La commande + décrite précédemment permet aussi de définir (ou modifier) une commande initiale pour chaque fichier.

ÉDITION DE LIGNE
Lorsqu’on tape une ligne de commande au bas de l’écran (par exemple un nom de fichier pour la commande :e ou un motif pour une commande de recherche), il est possible d’utiliser certaines touches pour manipuler cette ligne de commande. La plupart des commandes possèdent un format alternatif entre [ crochets ] qui peut être utilisé si une touche est absente d’un clavier particulier (notez que les formats commençant par ÉCH ne fonctionnent pas sur certains systèmes MS-DOS et Windows, car ÉCH est le caractère d’effacement de ligne). Toutes ces touches spéciales peuvent être tapées littéralement en les faisant précéder du caractère « littéral » ^V ou ^A. Une barre oblique inversée peut elle-même être tapée littéralement en tapant deux barres obliques inversées.

FLÈCHE_GAUCHE [ ÉCH-h ]
    Déplacement du curseur d’un caractère vers la gauche.

FLÈCHE_DROITE [ ÉCH-l ]
    Déplacement du curseur d’un caractère vers la droite.

^FLÈCHE_GAUCHE [ ÉCH-b ou ÉCH-FLÈCHE_GAUCHE ]
    Appui sur FLÈCHE_GAUCHE tout en maintenant la touche Ctrl enfoncée : déplacement du curseur d’un mot vers la gauche.

^FLÈCHE_DROITE [ ÉCH-w ou ÉCH-FLÈCHE_DROITE ]
    Appui sur FLÈCHE_DROITE tout en maintenant la touche Ctrl enfoncée : déplacement du curseur d’un mot vers la droite.

DÉBUT [ ÉCH-0 ]
    Déplacement du curseur vers le début de la ligne.

FIN [ ÉCH-$ ]
    Déplacement du curseur vers la fin de la ligne.

RETOUR ARRIÈRE
    Effacement du caractère à gauche du curseur ou annulation de la commande si la ligne est vide.

SUPPRESSION or [ ÉCH-x ]
    Effacement du caractère sous le curseur.

^RETOUR_ARRIÈRE [ ÉCH-RETOUR_ARRIÈRE ]
    Appui sur RETOUR_ARRIÈRE tout en maintenant la touche Ctrl enfoncée : effacement du mot à gauche du curseur.

^SUPPRESSION [ ÉCH-X ou ÉCH-SUPPRESSION ]
    Appui sur SUPPRESSION tout en maintenant la touche Ctrl enfoncée : effacement du mot sous le curseur.

FLÈCHE_HAUT [ ÉCH-k ]
    Rappel de la ligne de commande précédente. Si vous tapez un morceau de texte, puis pressez FLÈCHE_HAUT, la ligne de commande précédente commençant par ce texte sera rappelée.

FLÈCHE_BAS [ ÉCH-j ]
    Rappel de la ligne de commande suivante. Si vous tapez un morceau de texte, puis pressez FLÈCHE_BAS, la ligne de commande suivante commençant par ce texte sera rappelée.

TABULATION
    Complétion du nom de fichier partiel situé à la gauche du curseur. Si plusieurs noms de fichier sont possibles, le premier d’entre eux sera entré sur la ligne de commande, et répéter l’appui sur la touche TAB permettra de choisir parmi les noms de fichier possibles. Si le nom de fichier complété est un répertoire, un « / » lui sera ajouté (sur les systèmes MS-DOS et Windows, c’est un « \ » qui sera ajouté). La variable d’environnement LESSSEPARATOR permet de spécifier un caractère de remplacement à ajouter aux noms de répertoire.

TAB_arrière [ ÉCH-TAB ]
    Identique à TAB, excepté que le balayage des noms de fichier possibles s’effectue en sens inverse.

^L  Complétion du nom de fichier partiel situé à la gauche du curseur. Si plusieurs noms de fichier sont possibles, tous seront entrés sur la ligne de commande (si la place est suffisante).

^U (Unix et OS/2) ou ÉCH (MS-DOS et Windows)
    Effacement de la totalité de la ligne de commande ou annulation de la commande si la ligne est vide. Si vous avez changé votre caractère d’effacement de ligne sous Unix pour autre chose que ^U, c’est ce caractère qui devra être utilisé à la place de ^U.

^G  Effacement de la totalité de la ligne de commande et retour à l’invite principale.

RACCOURCIS CLAVIER
Vous pouvez définir vos propres commandes less en créant un fichier source lesskey. Ce fichier contient un ensemble d’associations de touches à des actions. Vous pouvez aussi changer les touches d’édition de ligne (voir la section ÉDITION DE LIGNE) et définir les variables d’environnement utilisées par less. Voir la page du manuel de lesskey(1) pour une description détaillée du format du fichier.

Si la variable d’environnement LESSKEYIN est définie, less l’utilisera comme nom du fichier source lesskey. Sinon, less cherchera ce dernier dans un emplacement standard : sur les systèmes Unix, less cherchera un fichier nommé $XDG_CONFIG_HOME/lesskey, $HOME/.config/lesskey ou $HOME/.lesskey. Sur les systèmes MS-DOS et Windows, less cherchera un fichier nommé $HOME/_lesskey et s’il ne le trouve pas, cherchera un fichier nommé _lesskey dans tous les répertoires spécifiés dans la variable d’environnement PATH. Sur les systèmes OS/2, less cherchera un fichier nommé $HOME/lesskey.ini et s’il ne le trouve pas, cherchera un fichier nommé lesskey.ini dans tous les répertoires spécifiés dans la variable d’environnement INIT ; s’il ne le trouve toujours pas, less cherchera un fichier nommé lesskey.ini dans tous les répertoires spécifiés dans la variable d’environnement PATH.

Des raccourcis clavier peuvent aussi être définis dans un fichier source lesskey global. Si un raccourci est défini à la fois dans un fichier local et dans le fichier global, celui du fichier local aura priorité sur le second. Si la variable d’environnement LESSKEYIN_SYSTEM est définie, less l’utilisera comme nom du fichier lesskey global. Sinon, less cherchera ce dernier dans un emplacement standard : sur les systèmes Unix, le fichier lesskey global est /usr/local/etc/syslesskey (cependant, si less a été compilé avec un répertoire sysconf différent de /usr/local/etc, ce répertoire sera celui où se trouve le fichier sysless). Sur les systèmes MS-DOS et Windows, le fichier lesskey global est c:\_syslesskey. Sur les systèmes OS/2, le fichier lesskey global est c:\syslesskey.ini.

Les versions précédentes de less (avant la version 582) utilisaient des fichiers lesskey binaires produits par le programme lesskey(1). L’utilisation de ce programme n’est maintenant plus nécessaire.

PRÉPROCESSEUR D’ENTRÉE
Vous pouvez définir un « préprocesseur d’entrée » pour less. Avant d’ouvrir un fichier, less donnera à votre préprocesseur d’entrée une chance de modifier la manière dont le contenu du fichier sera affiché. Un préprocesseur d’entrée est tout simplement un programme exécutable (ou un script d’interpréteur de commande) qui écrit le contenu du fichier dans un fichier différent appelé fichier de remplacement. Le contenu du fichier de remplacement est alors affiché à la place du contenu du fichier originel. L’affichage apparaîtra cependant à l’utilisateur comme si le fichier originel était ouvert ; c’est-à-dire que less affichera le nom du fichier originel comme nom du fichier actuel.

Le préprocesseur d’entrée reçoit comme argument de ligne de commande le nom du fichier originel tel que saisi par l’utilisateur. Il doit créer le fichier de remplacement et lorsqu’il a terminé, afficher le nom du fichier de remplacement sur la sortie standard. Si le préprocesseur d’entrée ne fournit pas de nom de fichier de remplacement, less utilisera le fichier originel, comme s’il n’y avait pas de préprocesseur d’entrée. Le préprocesseur d’entrée n’est pas appelé lorsqu’on visualise l’entrée standard. Pour configurer un préprocesseur d’entrée, définissez la variable d’environnement LESSOPEN avec une ligne de commande qui invoquera votre préprocesseur d’entrée. Cette ligne de commande doit contenir une occurrence de la chaîne « %s » qui sera remplacée par le nom du fichier lorsque le préprocesseur d’entrée sera invoqué.

Lorsque less ferme un fichier ouvert de cette manière, il appelle un autre programme appelé le postprocesseur d’entrée qui peut effectuer des opérations de nettoyage (comme la suppression du fichier de remplacement créé par LESSOPEN). Ce programme reçoit deux arguments de ligne de commande : le nom du fichier originel tel que saisi par l’utilisateur et le nom du fichier de remplacement. Pour configurer un postprocesseur d’entrée, définissez la variable d’environnement LESSCLOSE avec une ligne de commande qui invoquera votre postprocesseur d’entrée. Cette ligne de commande pourra contenir deux occurrences de la chaîne « %s » ; la première sera remplacée par le nom du fichier originel et la seconde par le nom du fichier de remplacement fourni par LESSOPEN.

Sur de nombreux systèmes Unix par exemple, ces deux scripts permettent de conserver les fichiers sous forme compressée, tout en permettant à less de les visualiser directement :

lessopen.sh :
  #! /bin/sh
  case "$1" in
  *.Z)    FICH_TEMP=$(mktemp)
  uncompress -c $1 >$FICH_TEMP 2>/dev/null
  if [ -s $FICH_TEMP ]; then
  echo $FICH_TEMP
  else
  rm -f $FICH_TEMP
  fi
  ;;
  esac

lessclose.sh :
  #! /bin/sh
  rm $2

Pour utiliser ces scripts, enregistrez-les à un emplacement où ils pourront être exécutés, et spécifiez LESSOPEN="lessopen.sh %s" et LESSCLOSE="lessclose.sh %s %s". Il est possible d’écrire des scripts LESSOPEN et LESSCLOSE plus complexes qui accepteront d’autres types de fichiers compressés, etc.

Il est également possible de configurer un préprocesseur d’entrée pour tuber directement les données du fichier à less, plutôt que de placer les données dans un fichier de remplacement. Cela évite de devoir décompresser le fichier en entier avant de le visualiser. Un préprocesseur d’entrée fonctionnant de cette façon est appelé tube d’entrée. Au lieu d’écrire le nom du fichier de remplacement sur sa sortie standard, un tube d’entrée y écrit son contenu. Si le tube d’entrée n’écrit aucun caractère sur sa sortie standard, il n’y a pas de fichier de remplacement et less utilisera le fichier originel, comme il le fait normalement. Pour indiquer que le préprocesseur d’entrée est un tube d’entrée, définissez « | » comme premier caractère de la variable d’environnement LESSOPEN. Comme dans le cas des préprocesseurs d’entrée qui ne sont pas des tubes, la chaîne de commande doit contenir une occurrence de « %s » qui sera remplacée par le nom du fichier d’entrée.

Sur de nombreux systèmes Unix par exemple, ce script fonctionnera comme les exemples de script précédents :

lesspipe.sh :
  #! /bin/sh
  case "$1" in
  *.Z)    uncompress -c $1 2>/dev/null
  ;;
  *)    exit 1
  ;;
  esac
  exit $?

Pour utiliser ce script, enregistrez-le à un emplacement où il pourra être exécuté et spécifiez LESSOPEN="|lesspipe.sh %s".

Notez qu’un préprocesseur ne peut pas produire un fichier vide, car cela est interprété comme l’absence de fichier de remplacement et c’est alors le fichier original qui est utilisé. Pour éviter ce problème, si LESSOPEN commence par deux barres verticales, le code de retour du script déterminera le comportement à adopter lorsque la sortie est vide : si la sortie est vide alors que le code de retour est égal à zéro, la sortie vide sera interprétée comme le texte de remplacement ; si la sortie est vide alors que le code de retour est différent de zéro, c’est le fichier original qui sera utilisé. À des fins de rétrocompatibilité avec les versions précédentes de less, si LESSOPEN commence par une seule barre verticale, le code de retour du préprocesseur sera ignoré.

Lorsque l’entrée est un tube, il est possible d’utiliser un postprocesseur LESSCLOSE mais cela n’est en général pas nécessaire, car il n’y a pas de fichier de remplacement à supprimer. Dans ce cas, le nom de fichier de remplacement transmis au postprocesseur LESSCLOSE est « - ».

À des fins de rétrocompatibilité avec les versions précédentes de less, le préprocesseur ou tube d’entrée n’est pas utilisé si less visualise l’entrée standard. Cependant, si le premier caractère de LESSOPEN est un tiret (-), le préprocesseur d’entrée sera utilisé avec l’entrée standard comme avec tout autre fichier. Dans ce dernier cas, le tiret n’est pas considéré comme faisant partie de la commande du préprocesseur. Si l’entrée standard est visualisée, un nom de fichier consistant en un simple tiret est transmis au préprocesseur d’entrée. De même, si les premiers caractères de LESSOPEN sont une barre verticale et un tiret (|-) ou deux barres verticales et un tiret (||-), le tube d’entrée sera utilisé avec l’entrée standard comme avec tout autre fichier. Dans ce dernier cas aussi, le tiret n’est pas considéré comme faisant partie de la commande du tube d’entrée.

JEUX DE CARACTÈRES NATIONAUX
Il y a trois types de caractère dans le fichier d’entrée :

les caractères normaux
    qui peuvent être affichés directement à l’écran.

les caractères de contrôle
    qui ne doivent pas être affichés directement, mais sont susceptibles d’être rencontrés dans les fichiers texte courants (comme les retours arrière et les tabulations).

les caractères binaires
    qui ne doivent pas être affichés directement et ne sont pas susceptibles d’être rencontrés dans les fichiers texte.

Un « jeu de caractères » est simplement une description qui indique quels caractères doivent être considérés comme normaux, de contrôle ou binaires. La variable d’environnement LESSCHARSET permet de sélectionner un jeu de caractères. Les valeurs possibles pour LESSCHARSET sont :

ascii
    BS, TAB, NL, CR et FF (« page suivante ») sont des caractères de contrôle. Tous les caractères dont la valeur est comprise entre 32 et 126 sont des caractères normaux, tous les autres sont des caractères binaires.

iso8859
    Sélectionne un jeu de caractères ISO 8859. Identique à « ascii », excepté que les caractères dont la valeur est comprise entre 160 et 255 sont considérés comme normaux.

latin1
    Identique à « iso8859 ».

latin9
    Identique à « iso8859 ».

dos Sélectionne un jeu de caractères adapté à MS-DOS.

ebcdic
    Sélectionne un jeu de caractères EBCDIC.

IBM-1047
    Sélectionne un jeu de caractères EBCDIC utilisé par « OS/390 Unix Services ». Il s’agit de l’équivalent de latin1 en EBCDIC. Vous obtiendrez des résultats similaires en définissant LESSCHARSET=IBM-1047 ou LC_CTYPE=en_US dans votre environnement.

koi8-r
    Sélectionne un jeu de caractères russe.

next
    Sélectionne un jeu de caractères adapté aux ordinateurs « NeXT ».

utf-8
    Sélectionne le codage UTF-8 du jeu de caractères ISO 10646. UTF-8 est spécial en cela qu’il prend en charge les caractères multi-octets dans le fichier d’entrée. En fait, c’est le seul jeu de caractères qui prend en charge les caractères multi-octets.

windows
    Sélectionne un jeu de caractères adapté à « Microsoft Windows » (cp 1252).

Dans certains cas rares, il peut être souhaitable de personnaliser less pour utiliser un jeu de caractères autre que ceux qui peuvent être définis à l’aide de LESSCHARSET. Dans ce cas, la variable d’environnement LESSCHARDEF permet de définir un tel jeu de caractères. Elle doit être définie avec une chaîne dont chaque caractère représente un caractère du jeu de caractères. Le caractère « . » est considéré comme normal, « c » comme caractère de contrôle et « b » comme binaire. Un nombre décimal permet d’effectuer des répétitions. Par exemple, « bccc4b. » indiquerait que le caractère 0 est binaire, que les caractères 1, 2 et 3 sont des caractères de contrôle, que les caractères 4, 5, 6 et 7 sont binaires et que le caractère 8 est normal. Tous les caractères après le dernier seront considérés comme du même type que le dernier, si bien que les caractères 9 à 255 seront normaux (il s’agit d’un exemple qui ne représente pas nécessairement un jeu de caractères réel).

Cette table montre les valeurs de LESSCHARDEF équivalentes à chacune des valeurs possibles de LESSCHARSET :
    ascii | 8bcccbcc18b95.b
    dos | 8bcccbcc12bc5b95.b.
    ebcdic | 5bc6bcc7bcc41b.9b7.9b5.b..8b6.10b6.b9.7b
     | 9.8b8.17b3.3b9.7b9.8b8.6b10.b.b.b.
    IBM-1047 | 4cbcbc3b9cbccbccbb4c6bcc5b3cbbc4bc4bccbc
     | 191.b
    iso8859 | 8bcccbcc18b95.33b.
    koi8-r | 8bcccbcc18b95.b128.
    latin1 | 8bcccbcc18b95.33b.
    next | 8bcccbcc18b95.bb125.bb

Si ni LESSCHARSET, ni LESSCHARDEF ne sont définies, mais qu’une des chaînes « UTF-8 », « UTF8 », « utf-8 » ou « utf8 » est trouvée dans les variables d’environnement LC_ALL, LC_CTYPE ou LANG, le jeu de caractères par défaut sera utf-8.

Si cette chaîne n’est pas trouvée, mais que votre système prend en charge l’interface setlocale(3), less utilisera cette dernière pour déterminer le jeu de caractères. setlocale(3) est contrôlée en définissant les variables d’environnement LANG ou LC_CTYPE.

Finalement, si l’interface setlocale(3) n’est elle-même pas disponible, le jeu de caractères par défaut sera utf-8.

Les caractères de contrôle et binaires sont affichés en mode de mise en évidence (vidéo inverse). Tous ces caractères sont affichés en notation caret si possible (par exemple ^A for Ctrl-A). La notation caret n’est utilisée que si l’inversion du bit 0100 donne un caractère normal affichable. Dans le cas contraire, le caractère sera affiché sous la forme d’un nombre hexadécimal entre chevrons simples « <> ». Ce format peut être changé en définissant la variable d’environnement LESSBINFMT. LESSBINFMT peut commencer par un astérisque « * » et un caractère pour sélectionner l’attribut d’affichage : « *k » correspond à clignotement, « *d » à gras, « *u » à souligné, « *s » à mise en évidence et « *n » à normal. Si LESSBINFMT ne commence pas par un « * », le mode normal sera adopté. Le reste de LESSBINFMT est une chaîne qui peut contenir une séquence d’échappement dans le style de printf (un « % » suivi de x, X, o, d, etc.). Par exemple, si LESSBINFMT a pour valeur « *u[%x] », les caractères binaires seront affichés sous forme hexadécimale soulignée et entourée de crochets. Si LESSBINFMT n’est pas définie, le format par défaut est « *s<%02X> ». Attention : le résultat du développement du caractère à l’aide de LESSBINFMT doit être d’une taille inférieure à 31 caractères.

Lorsque le jeu de caractères est utf-8, la variable d’environnement LESSUTFBINFMT se comporte de manière similaire à LESSBINFMT, mais elle s’applique aux points de code Unicode qui ont été décodés avec succès mais ne sont pas adaptés à l’affichage (par exemple des points de code non assignés). Sa valeur par défaut est « <U+%04lX> ». Notez que LESSUTFBINFMT et LESSBINFMT partagent leurs définitions d’attributs d’affichage (« *x »), si bien qu’en définir une affectera les deux. LESSUTFBINFMT est lue après LESSBINFMT ; sa définition, si elle est effectuée, sera donc prioritaire. Les octets problématiques d’un fichier en UTF-8 (octets d’une séquence tronquée, octets d’une séquence de forme complète mais pas la plus courte, octets non valables et octets de fin parasites) sont affichés individuellement en utilisant LESSBINFMT de façon à faciliter le diagnostic de ce qui fait qu’un fichier UTF-8 est mal formé.

Lorsque le jeu de caractères est utf-8, il peut être souhaitable dans de rares cas d’outrepasser la définition Unicode du type de certains caractères. Par exemple, les caractères d’une PUA (Private Use Area — Zone à usage privé) sont normalement traités comme des caractères de contrôle, mais si vous utilisez une fonte personnalisée avec des caractères imprimables dans cette zone, il pourra être souhaitable de faire que less considère de tels caractères comme affichables. Pour y parvenir, on définit la variable d’environnement LESSUTFCHARDEF avec une liste de définitions de types de caractères séparées par des virgules. Chaque définition de type de caractère consiste soit en un point de code en hexadécimal, soit en une paire de points de code séparés par un tiret, suivis d’un deux-points et d’un type de caractère. Chaque point de code en hexadécimal peut être optionnellement préfixé par « U » ou par « U+ ». Si une paire de points de code est spécifiée, le type est défini pour tous les caractères entre les deux valeurs incluses. S’il y a plusieurs valeurs de point de code séparées par des virgules, elles doivent être dans l’ordre numérique croissant. Les types de caractère valables sont les suivants :

    p   Un caractère affichable normal.

    w   Un caractère affichable large (2 espaces).

    b   Un caractère binaire (non affichable).

    c   Un caractère de composition (largeur nulle).

Par exemple, définir LESSUTFCHARDEF à

	E000-F8FF:p,F0000-FFFFD:p,100000-10FFFD:p

ferait que tous les caractères des zones à usage privé soient considérés comme affichables.

INVITES
L'option -P permet de personnaliser l’invite selon vos préférences. La chaîne donnée avec l’option -P remplace la chaîne d’invite spécifiée. Certains caractères de la chaîne sont interprétés de manière spéciale. Le mécanisme d’invite est trop compliqué pour se targuer d’une certaine flexibilité, mais l'utilisateur lambda n'a pas besoin de connaître tous les détails de la construction d'une chaîne d’invite personnalisée.

Un signe pourcentage « % » suivi d’un seul caractère est développé en fonction de la valeur de ce dernier (les mentions ci-après de la taille du fichier d’entrée font référence à la taille précalculée lorsqu’un préprocesseur est utilisé) :

%bX Remplacé par la position en octets dans le fichier d’entrée actuel. Le b est suivi d’un seul caractère (le X ci-avant), qui spécifie la ligne dont la position en octets doit être utilisée. Si le caractère est un « t », la position en octets de la ligne située en haut de l'écran est utilisée, un « m » signifie la position en octets de la ligne du milieu, un « b » celle de la ligne du bas de l'écran, un « B » celle de la ligne située juste après la ligne du bas de l'écran et un « j » signifie celle de la ligne « cible », comme spécifiée par l'option -j.

%B  Remplacé par la taille du fichier d’entrée actuel.

%c  Remplacé par le numéro de colonne du texte apparaissant dans la première colonne de l’écran.

%dX Remplacé par le numéro de la page d’une ligne du fichier d’entrée dans laquelle se trouve une ligne de l’écran. La ligne concernée est déterminée par le X, comme avec l’option %b.

%D  Remplacé par le nombre de pages du fichier d’entrée ou, autrement dit, le numéro de la page dans laquelle se trouve la dernière ligne du fichier d’entrée.

%E  Remplacé par le nom de l’éditeur (extrait de la variable d’environnement VISUAL ou de la variable d’environnement EDITOR si VISUAL n’est pas définie). Voir ci-après la description de la fonctionnalité LESSEDIT.

%f  Remplacé par le nom du fichier d’entrée actuel.

%F  Remplacé par la dernière composante du nom du fichier d’entrée actuel.

%g  Remplacé par le nom du fichier d’entrée actuel protégé vis-à-vis de l’interpréteur de commande. Utile lorsque la chaîne développée doit être utilisée dans une commande de l’interpréteur de commande, comme dans LESSEDIT.

%i  Remplacé par l’indice du fichier actuel dans la liste des fichiers d’entrée.

%lX Remplacé par le numéro de ligne dans le fichier actuel d’une ligne à l’écran. La ligne concernée est déterminée par le X, comme avec l’option %b.

%L  Remplacé par le numéro de ligne de la dernière ligne du fichier d’entrée.

%m  Remplacé par le nombre total de fichiers d’entrée.

%o  Remplacé par l’URI de l’hyperlien OSC 8 actuellement sélectionné ou par un point d’interrogation si aucun hyperlien n’est sélectionné. Cette invite est utilisée par les gestionnaires OSC 8 comme expliqué dans la description de la commande ^O^O.

%pX Remplacé par le pourcentage où l’on se situe dans le fichier d’entrée actuel, sur la base de la position en octets. La ligne utilisée est déterminée par X comme avec l'option %b.

%PX Remplacé par le pourcentage où l’on se situe dans le fichier d’entrée actuel, sur la base des numéros de ligne. La ligne utilisée est déterminée par X comme avec l'option %b.

%s  Identique à %B.

%t  Supprime toutes les espaces terminales. Utilisé habituellement à la fin de la chaîne de caractères, mais peut apparaître n’importe où.

%T  Remplacé normalement par le mot « file ». Cependant, si on visualise des fichiers à l’aide d’une liste de symboles en utilisant l’option -t, cette invite sera remplacée par le mot « tag ».

%x  Remplacé par le nom du prochain fichier d’entrée dans la liste.

Si une caractéristique est inconnue (par exemple la taille du fichier si l’entrée provient d'un tube), un point d’interrogation est affiché à la place.

Le format de la chaîne de l’invite peut être modifié en fonction de certaines conditions. Un point d’interrogation suivi d’un seul caractère agit comme un « IF » : ce dernier caractère définit la condition à évaluer. Si la condition est vérifiée, tous les caractères suivant le point d’interrogation et le caractère de condition, jusqu’à un point, sont inclus dans l’invite. Si la condition n’est pas vérifiée, ces caractères ne sont pas inclus dans l’invite. Un deux-points apparaissant entre le point d’interrogation et le point agit comme un « ELSE » : tous les caractères situés entre le deux-points et le point sont inclus dans la chaîne si et seulement si la condition IF n’est pas vérifiée. Les caractères de condition (qui suivent un point d’interrogation) peuvent être :

?a  Vrai si des caractères ont déjà été inclus dans l’invite.

?bX Vrai si la position en octets de la ligne spécifiée est connu.

?B  Vrai si la taille du fichier d’entrée actuel est connue.

?c  Vrai si le texte est décalé horizontalement (%c est différent de zéro).

?dX Vrai si le numéro de page de la ligne spécifiée est connu.

?e  Vrai si l’on est situé à la fin du fichier.

?f  Vrai s’il y a un nom de fichier d'entrée (c’est-à-dire si l’entrée ne provient pas d’un tube).

?lX Vrai si le numéro de ligne de la ligne spécifiée est connu.

?L  Vrai si le numéro de ligne de la dernière ligne du fichier est connu.

?m  Vrai s’il y a plusieurs fichiers d'entrée.

?n  Vrai s’il s’agit de la première invite d'un nouveau fichier d’entrée.

?pX Vrai si le pourcentage du fichier d’entrée actuel auquel se situe la ligne spécifiée, sur la base des positions en octets, est connu.

?PX Vrai si la position en pourcentage dans le fichier d’entrée actuel, sur la base des numéros de ligne, à laquelle se situe la ligne spécifiée est connue.

?s  Identique à ?B.

?x  Vrai s’il y a un fichier d'entrée suivant (c’est-à-dire si le fichier d’entrée actuel n’est pas le dernier).

Tout caractère autre que les caractères spéciaux (point d’interrogation, deux-points, point et barre oblique inversée) est inclus dans l’invite sous sa forme littérale. Tout caractère spécial peut être inclus littéralement dans l’invite en le faisant précéder d’une barre oblique inversée.

Quelques exemples :

?f%f:Entrée standard.

Cette invite affiche le nom du fichier s’il est connu, ou la chaîne « Entrée standard » dans le cas contraire.

?f%f .?ltLigne %lt:?pt%pt\%:?btOctet %bt:-...

Cette invite affiche le nom du fichier s’il est connu. Le nom du fichier est suivi du numéro de ligne s’il est connu, sinon du pourcentage s’il est connu, sinon de la position en octets si elle est connue. Si aucune de ces caractéristiques n’est connue, un tiret est affiché. Notez la façon dont chaque point d’interrogation possède un point associé, et la manière dont le pourcentage après le %pt est inclus littéralement en le faisant précéder d’un caractère d’échappement (une barre oblique inversée).

?n?f%f .?m(%T %i de %m) ..?e(FIN) ?x- Suivant\: %x..%t

Cette invite affiche le nom du fichier s’il s’agit de la première invite d’un fichier, suivi du message « file N de N » s’il y a plusieurs fichiers d’entrée. Ensuite, si l’on se trouve à la fin du fichier, la chaîne « (FIN) » est affichée suivie du nom du fichier suivant, s’il y en a un. Finalement, toutes les espaces terminales sont supprimées. Il s’agit de l’invite par défaut. À titre de référence, voici les valeurs par défaut pour les deux autres invites (-m et -M respectivement). Elles ne sont affichées ici sur deux lignes que pour améliorer la lisibilité.

?n?f%f .?m(%T %i de %m) ..?e(FIN) ?x- Suivant\: %x.:
	?pB%pB\%:octet %bB?s/%s...%t

?f%f .?n?m(%T %i de %m) ..?ltlignes %lt-%lb?L/%L. :
	octet %bB?s/%s. .?e(FIN) ?x- Suivant\: %x.:?pB%pB\%..%t

Et voici le message par défaut produit par la commande = :

?f%f .?m(%T %i de %m) .?ltlignes %lt-%lb?L/%L. .
	octet %bB?s/%s. ?e(FIN) :?pB%pB\%..%t

Les fonctionnalités de développement de l’invite peuvent aussi être utilisées dans un autre but : si une variable d’environnement LESSEDIT est définie, elle est utilisée en tant que commande à exécuter lorsque la commande v est invoquée. La chaîne de LESSEDIT est développée de la même manière que les chaînes d’invite. La valeur par défaut de LESSEDIT est :

	%E ?lm+%lm. %g

Notez que cette chaîne se développe en : nom de l’éditeur suivi d’un « + » et du numéro de ligne, lui-même suivi du nom du fichier protégé vis-à-vis de l’interpréteur de commande par des caractères d’échappement. Si votre éditeur n’accepte pas la syntaxe « +numéro-de-ligne » ou comporte d’autres différences au niveau de sa syntaxe d’invocation, la variable LESSEDIT peut être modifiée pour changer ce comportement par défaut.

SECURITÉ
Quand la variable d’environnement LESSSECURE a pour valeur 1, less s’exécute dans un mode « sécurisé ». Dans ce mode, les fonctionnalités suivantes sont désactivées :

edit
    la commande d’édition (v)

examine
    la commande d’examen (:e)

glob
    les métacaractères tels que « * » dans les noms de fichier,
    et la complétion des noms de fichiers (TAB, ^L)

history
    le fichier d’historique

lesskey
    l’utilisation de fichiers lesskey (-k et --lesskey-src)

lessopen
    le préprocesseur d’entrée (variable d’environnement LESSOPEN)

logfile
    les fichiers journaux (s et -o)

osc8
    ouverture des liens OSC 8 (^O^O)

pipe
    la commande de tube (|)

shell
    l’invocation d’un interpréteur de commande pour exécuter une commande (! et #)

stop
    suspendre l’exécution de less à l’aide d’un signal SIGSTOP

tags
    utilisation de fichiers de symboles (-t)

La variable d’environnement LESSSECURE_ALLOW peut être définie avec une liste de noms de fonctionnalités séparés par des virgules et qui sont activées de manière sélective lorsque LESSSECURE est définie. Chaque nom de fonctionnalité correspond au premier mot de chaque ligne de la liste ci-avant. Un nom de fonctionnalité peut être abrégé tant que la forme abrégée est sans ambiguïté. Par exemple, si LESSSECURE=1 et LESSSECURE_ALLOW=hist,edit sont définies ainsi, toutes les fonctionnalités énumérées ci-avant seront désactivées, à l’exception de « history » et « edit ».

less peut aussi être compilé de façon à toujours s’exécuter en mode « sécurisé ». Dans ce cas, les variables LESSSECURE et LESSSECURE_ALLOW seront ignorées.

COMPATIBILITÉ AVEC MORE
Si la variable d’environnement LESS_IS_MORE est définie à 1 ou si le programme est invoqué à l’aide d’un lien de fichier nommé « more », less se comportera (en grande partie) conformément aux spécifications POSIX de la commande more(1). Les différences de comportement de less dans ce mode sont les suivantes :

L’option -e fonctionne différemment. Même si elle n’est pas spécifiée, less se comporte comme si elle l’était. Si elle est spécifiée, less se comporte comme si l’option -E était spécifiée.

L’option -m fonctionne différemment. Si elle n’est pas spécifiée, l’invite moyenne est utilisée, préfixée de la chaîne « --More-- ». Si elle est spécifiée, c’est l’invite courte qui est utilisée.

L’option -n a le même effet que l’option -z. Le comportement normal de l’option -n est indisponible dans ce mode.

Le paramètre de l’option -p est considéré comme une commande de less au lieu d’un motif de recherche.

La variable d’environnement LESS est ignorée ; c’est la variable d’environnement MORE qui est utilisée à sa place.

VARIABLES D'ENVIRONNEMENT
Les variables d’environnement peuvent être spécifiées soit dans l’environnement du système comme c’est le cas habituellement, soit dans un fichier lesskey. Si les variables d’environnement sont définies à plus d’un emplacement, les variables définies dans un fichier lesskey local ont priorité sur les variables définies dans l’environnement du système qui ont elles-mêmes priorité sur les variables définies dans le fichier lesskey global.

COLUMNS
    Cette variable permet de définir le nombre de colonnes à l’écran. Elle a priorité sur le nombre de colonnes spécifié par la variable TERM ; cependant, si vous utilisez un système de fenêtrage qui prend en charge TIOCGWINSZ ou WIOCGETD, l’idée qu'il se fait de la taille de l'écran aura priorité sur les variables d’environnement LINES et COLUMNS.

EDITOR
    Le nom de l’éditeur (utilisé par la commande v).

DÉBUT
    Le nom du répertoire personnel de l’utilisateur (utilisé pour trouver un fichier lesskey sur les systèmes Unix et OS/2).

HOMEDRIVE, HOMEPATH
    La concaténation des variables d’environnement HOMEDRIVE et HOMEPATH est le nom du répertoire personnel de l’utilisateur si la variable HOME n’est pas définie (uniquement dans la version Windows).

INIT
    Le nom du répertoire d’initialisation de l’utilisateur (utilisé pour trouver un fichiers lesskey sur les systèmes OS/2).

LANG
    La langue pour la détermination du jeu de caractères.

LC_CTYPE
    La langue pour la détermination du jeu de caractères.

LESS
    Options transmises à less automatiquement.

LESSANSIENDCHARS
    Caractères pouvant terminer une séquence d’échappement de couleur ANSI (« m » par défaut).

LESSANSIMIDCHARS
    Caractères pouvant apparaître entre le caractère ESC et le caractère de fin dans une séquence d’échappement de couleur ANSI (par défaut « 0123456789:;[?!"'#%()*+  ».

LESSBINFMT
    Format d’affichage des caractères non affichables, hormis les caractères de contrôle.

LESSCHARDEF
    Définit un jeu de caractères.

LESSCHARSET
    Sélectionne un jeu de caractères prédéfini.

LESSCLOSE
    Ligne de commande pour invoquer le postprocesseur d’entrée (optionnel).

LESSECHO
    Nom du programme lessecho(1) (par défaut « lessecho »). Le programme lessecho(1) permet de développer les métacaractères, comme * et ? dans les noms de fichier sur les systèmes Unix.

LESSEDIT
    Chaîne de prototype d’éditeur (utilisée par la commande v). Voir la section INVITES.

LESSGLOBALTAGS
    Nom de la commande utilisée par l’option -t pour trouver les symboles globaux. Normalement définie à « global » si votre système dispose de la commande global(1). Si elle n’est pas définie, les symboles globaux ne sont pas utilisés.

LESSHISTFILE
    Le nom du fichier d’historique utilisé pour mémoriser les commandes de recherche et les commandes de l’interpréteur de commande d’une invocation de less à l’autre. Si cette variable est définie à « - » ou « /dev/null », aucun fichier d’historique ne sera utilisé. La valeur par défaut dépend du système d’exploitation, mais elle correspond le plus souvent à :

    Linux et Unix
        $XDG_STATE_HOME/lesshst, HOME/.local/state/lesshst, $XDG_DATA_HOME/lesshst ou HOME/.lesshst.

    Windows et MS-DOS
        $HOME/_lesshst.

    OS/2
        $HOME/lesshst.ini ou $INIT/lesshst.ini.

LESSHISTSIZE
    Le nombre maximal de commandes à mémoriser dans le fichier d’historique. La valeur par défaut est 100.

LESSKEYIN
    Le nom du fichier lesskey source par défaut.

LESSKEY
    Le nom du fichier lesskey binaire par défaut (non utilisée si le fichier source désigné par $LESSKEYIN existe).

LESSKEY_CONTENT
    La valeur de cette variable est interprétée comme s’il s’agissait du paramètre d’une option --lesskey-content.

LESSKEYIN_SYSTEM
    Le nom du fichier lesskey source global par défaut.

LESSKEY_SYSTEM
    Le nom du fichier lesskey binaire global par défaut (non utilisée si le fichier source désigné par LESSKEYIN_SYSTEM existe).

LESSMETACHARS
    La liste des caractères qui sont considérés comme des « métacaractères » par l’interpréteur de commande.

LESSMETAESCAPE
    Le préfixe que less va ajouter avant chaque métacaractère dans une commande envoyée à l’interpréteur de commande. Si LESSMETAESCAPE est une chaîne vide, les commandes contenant des métacaractères ne seront pas transmises à l’interpréteur de commande.

LESSOPEN
    La ligne de commande pour invoquer le préprocesseur d’entrée (optionnel).

LESSSECURE
    Lancer less en mode « sécurisé ». Voir les détails dans la section SÉCURITÉ.

LESSSECURE_ALLOW
    Activer certaines fonctionnalités qui sont normalement désactivées par LESSSECURE. Voir les détails dans la section SÉCURITÉ.

LESSSEPARATOR
    La chaîne à concaténer au nom du répertoire lors de la complétion des noms de fichiers.

LESSUTFBINFMT
    Le format d’affichage des points de code Unicode non imprimables.

LESSUTFCHARDEF
    Outrepassement du type des caractères Unicode spécifiés.

LESS_COLUMNS
    Cette variable permet de définir le nombre de colonnes affichées à l’écran. À la différence de COLUMNS, elle a priorité sur la taille de l’écran présumée par le système ; elle permet donc de faire que less n’utilise pas toute la largeur de l’écran. Si on lui affecte un nombre négatif, le nombre de colonnes utilisé sera égal à la largeur réelle de l’écran moins cette valeur.

LESS_LINES
    Cette variable permet de définir le nombre de lignes affichées à l’écran. À la différence de LINES, elle a priorité sur la taille de l’écran présumée par le système ; elle permet donc de faire que less n’utilise pas toute la hauteur de l’écran. Si on lui affecte un nombre négatif, le nombre de lignes utilisé sera égal à la hauteur réelle de l’écran moins cette valeur. Lorsqu’elle est définie, less rafraîchit l’écran à chaque commande de mouvement, si bien que les défilements pourront alors être plus lents.

LESS_DATA_DELAY
    Délai (en millisecondes) entre le début de la lecture des données en entrée et l’affichage du message « Waiting for data ». La valeur par défaut est 4000 (4 secondes).

LESS_IS_MORE
    Émulation de la commande more(1).

LESS_OSC8_xxx
    Cette variable, où « xxx » est un protocole d’URI comme « http » ou « file », permet de définir un gestionnaire OSC 8 pour l’ouverture des liens OSC 8 contenant un URI avec le protocole spécifié.

LESS_OSC8_ANY
    Cette variable permet de définir un gestionnaire OSC 8 pour l’ouverture des liens OSC 8 pour lesquels aucun gestionnaire LESS_OSC8_xxx spécifique n’a été défini pour le protocole « xxx ».

LESS_TERMCAP_xx
    Cette variable, où « xx » correspond à deux caractères, permet d’outrepasser la définition de la capacité termcap « xx » pour le terminal.

LESS_UNSUPPORT
    Une liste d’options de ligne de commande séparées par des espaces. Ces options seront ignorées (sans message d’erreur) si elles apparaissent sur la ligne de commande ou dans la variable d’environnement LESS. Les options listées dans LESS_UNSUPPORT peuvent être modifiées à l’aide des commandes - et --. Chacune de ces options se compose d’un tiret suivi d’une lettre d’option sous la forme d’un seul caractère, ou de deux tirets suivis d’un nom d’option long.

LINES
    Cette variable permet de spécifier le nombre de lignes à l’écran. Elle a priorité sur le nombre de lignes spécifié par la variable TERM (mais si vous utilisez un système de fenêtrage qui supporte TIOCGWINSZ ou WIOCGETD, l'idée qu’il se fait de la taille de l’écran a priorité sur les variables d’environnement LINES et COLUMNS).

MORE
    Les options qui sont transmises automatiquement à less lorsque ce dernier s’exécute en mode compatible avec more(1).

PATH
    Le chemin de recherche de l’utilisateur (utilisé pour trouver un fichier lesskey sur les systèmes MS-DOS, Windows et OS/2).

SHELL
    L’interpréteur de commande utilisé pour la commande !, et pour développer les noms de fichier.

TERM
    Le type de terminal sur lequel less s’exécute.

VISUAL
    Le nom de l’éditeur (utilisé par la commande v).

XDG_CONFIG_HOME
    Emplacement possible du fichier lesskey ; voir la section RACCOURCIS CLAVIER.

XDG_DATA_HOME
    Emplacement possible du fichier d’historique ; voir la description de la variable d’environnement LESSHISTFILE.

XDG_STATE_HOME
    Emplacement possible du fichier d’historique ; voir la description de la variable d’environnement LESSHISTFILE.

VOIR AUSSI
lesskey(1), lessecho(1)

COPYRIGHT
Copyright (C) 1984-2024 Mark Nudelman

less(1) fait partie du projet GNU et est un logiciel libre. Vous pouvez le redistribuer et/ou le modifier sous les termes de la GNU General Public License comme publiée par la Free Software Foundation ou de la Less License. Voir le fichier README dans la distribution de less(1) pour plus de détails à propos de la redistribution. Vous devriez avoir reçu une copie de la GNU General Public License en même temps que less(1) ; voir le fichier COPYING. Si ce n'est pas le cas, écrivez à la Free Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. Vous devriez aussi avoir reçu une copie de la Less License ; voir le fichier LICENSE.

less(1) est distribué dans le but d’être utile, mais SANS AUCUNE GARANTIE ; sans même une quelconque garantie de QUALITÉ MARCHANDE ou D’ADÉQUATION À UNE UTILISATION PARTICULIÈRE. Consulter la GNU General Public License pour plus de détails.

AUTEUR
Mark Nudelman
Envoyez les rapports de bogue à https://github.com/gwsw/less/issues.
Pour plus d’informations, voir la page d’accueil de less sur
https://greenwoodsoftware.com/less.

TRADUCTION
La traduction française de cette page de manuel a été créée par Lucien Gentis <lucien.gentis@univ-lorraine.fr>

Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 (https://www.gnu.org/licenses/gpl-3.0.html) concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org.