LESSKEY(1) General Commands Manual LESSKEY(1) NOM lesskey -- Personnalisation des raccourcis clavier de less SYNOPSIS (obsolete) lesskey [-o sortie] [--] [entree] lesskey [--output=sortie] [--] [entree] lesskey -V lesskey --version PORTEE Ce document decrit le format du fichier source de lesskey utilise par less(1) a partir de la version 582. Dans les versions precedentes de less(1), un programme separe nomme lesskey etait utilise pour compiler le fichier source de lesskey en un format comprehensible par less(1). Cette phase de compilation n'etant plus necessaire, le programme lesskey est obsolete, bien que le format du fichier soit toujours pris en charge par less(1). DESCRIPTION Un fichier lesskey permet de specifier un ensemble de raccourcis clavier et de variables d'environnement a utiliser lors d'une invocation de less(1). FORMAT DU FICHIER Le fichier d'entree se compose d'une ou plusieurs sections. Chacune d'entre elles commence par une ligne qui identifie le type de la section. Les types de section valables sont : #command Personnalisation des raccourcis clavier pour les commandes. #line-edit Personnalisation des raccourcis clavier pour l'edition de ligne. #env Definition de variables d'environnement. Les lignes vides sont ignorees. Tout texte dans une ligne qui suit un croisillon (#) est ignore, sauf dans les cas indiques ci-apres. SECTION DE COMMANDES La section de commandes debute par la ligne #command Si la section de commandes est la premiere du fichier, cette ligne peut etre omise. La section de commandes se compose de lignes de la forme : chaine action [[chaine_supplementaire] Les blancs sont constitues de n'importe quelle sequence d'une ou plusieurs espaces et/ou tabulations. La chaine contient les touches de commande qui invoquent l'action. Il peut s'agir d'une touche de commande unique ou d'une sequence de plusieurs touches (jusqu'a 15). L'action est le nom de l'action de less(1) issue des listes des sections EXEMPLE ci-apres. Les caracteres de la chaine peuvent apparaitre litteralement ou prefixes par un caret (^) pour indiquer une touche de controle. Une barre oblique inversee suivie d'un a trois chiffres octaux permet de specifier un caractere par sa valeur octale. Une barre oblique inversee suivie de certains caracteres specifie les caracteres d'entree comme suit : \b RETOUR ARRIERE (0x08) \e ECHAPPEMENT (0x1B) \n SAUT DE LIGNE (0x0A) \r RETOUR (0x0D) \t TABULATION (0x09) \k suivi d'un unique caractere represente le ou les caracteres produits lorsqu'une de ces touches est pressee : \kb RETOUR ARRIERE (la touche RETOUR_ARRIERE) \kB Ctrl-RETOUR_ARRIERE \kd FLECHE_BAS \kD PAGE_SUIVANTE \ke FIN \kh DEBUT \ki INSERTION \kl FLECHE_GAUCHE \kL Ctrl-FLECHE_GAUCHE \kr FLECHE_DROITE \kR Ctrl-FLECHE_DROITE \kt TABULATION_ARRIERE \ku FLECHE_HAUT \kU PAGE_PRECEDENTE \kx SUPPRESSION \kX Ctrl-SUPPRESSION \k1 F1 Une barre oblique inversee suivie de n'importe quel autre caractere indique que ce dernier doit etre considere litteralement. Les caracteres qui doivent etre precedes d'une barre oblique inversee comprennent le caret (^), l'espace, la tabulation, le croisillon (#) et la barre oblique inversee elle-meme. Une action peut etre suivie d'une chaine supplementaire. Quand une telle commande est entree pendant l'execution de less(1), l'action est effectuee, puis la chaine supplementaire est analysee comme si elle avait ete tapee dans less(1). Cette fonctionnalite peut dans certains cas etre utilisee pour etendre les possibilites d'une commande. Par exemple, voyez les commandes << { >> et << :t >> dans l'exemple ci-apres. La chaine supplementaire a une signification speciale pour l'action << quit >> : quand less(1) se termine, la valeur ASCII du premier caractere de la chaine supplementaire est utilisee comme code de retour. EXEMPLE Le fichier d'entree suivant decrit l'ensemble des touches de commande par defaut utilise par less(1). La documentation de chaque commande se trouve dans la page de manuel de less(1) dans la description de la sequence de touches qui invoque la commande. #command \r forw-line \n forw-line e forw-line j forw-line \kd forw-line ^E forw-line ^N forw-line k back-line y back-line ^Y back-line ^K back-line ^P back-line J forw-line-force K back-line-force Y back-line-force \ej forw-newline \ek back-newline d forw-scroll ^D forw-scroll u back-scroll ^U back-scroll \40 forw-screen f forw-screen ^F forw-screen ^V forw-screen \kD forw-screen b back-screen ^B back-screen \ev back-screen \kU back-screen z forw-window w back-window \e\40 forw-screen-force \eb back-screen-force F forw-forever \eF forw-until-hilite R repaint-flush r repaint ^R repaint ^L repaint \eu undo-hilite \eU clear-search g goto-line \kh goto-line < goto-line \e< goto-line p percent % percent \e( left-scroll \e) right-scroll \kl left-scroll \kr right-scroll \e{ no-scroll \e} end-scroll { forw-bracket {} } back-bracket {} ( forw-bracket () ) back-bracket () [ forw-bracket [] ] back-bracket [] \e^F forw-bracket \e^B back-bracket G goto-end \e> goto-end > goto-end \ke goto-end \eG goto-end-buffered = status ^G status :f status / forw-search ? back-search \e/ forw-search * \e? back-search * n repeat-search \en repeat-search-all N reverse-search \eN reverse-search-all ^O^N osc8-forw-search ^On osc8-forw-search ^O^P osc8-back-search ^Op osc8-back-search ^O^O osc8-open & filter m set-mark M set-mark-bottom \em clear-mark ' goto-mark ^X^X goto-mark E examine :e examine ^X^V examine :n next-file :p prev-file t next-tag T prev-tag :x index-file :d remove-file - toggle-option :t toggle-option t s toggle-option o ## Utiliser un nom d'option long en faisant debuter la ## chaine supplementaire avec UN tiret ; par exemple : ## s toggle-option -log-file\n _ display-option | pipe v visual ! shell # pshell + firstcmd \e[M mouse \e[< mouse6 H help h help V version 0 digit 1 digit 2 digit 3 digit 4 digit 5 digit 6 digit 7 digit 8 digit 9 digit q quit Q quit :q quit :Q quit ZZ quit PRIORITE Les commandes specifiees par lesskey ont priorite sur les commandes par defaut. Une touche de commande par defaut peut etre desactivee en l'incluant dans le fichier d'entree avec l'action << invalid >> (non valable). Une touche peut aussi etre definie pour ne rien faire en utilisant l'action << noaction >> (pas d'action). << noaction >> est similaire a << invalid >>, excepte que less(1) emettra un bip d'erreur pour une commande << invalid >>, alors qu'il ne le fera pas pour une commande << noaction >>. De plus, TOUTES les commandes par defaut peuvent etre desactivees en ajoutant cette ligne de controle dans le fichier d'entree : #stop Cette ligne aura pour effet que toutes les commandes par defauts seront ignorees. La ligne #stop doit etre la derniere de cette section du fichier. Soyez conscient que la ligne #stop peut etre dangereuse. Comme toutes les commandes par defaut sont desactivees, vous devez fournir suffisamment de commandes avant la ligne #stop pour activer toutes les actions necessaires. Par exemple, ne pas fournir de commande << quit >> (quitter) peut s'averer assez genant. SECTION D'EDITION DE LIGNE La section d'edition de ligne commence par la ligne : #line-edit Cette section specifie de nouveaux raccourcis clavier pour les commandes d'edition de ligne d'une maniere similaire a celle dont les raccourcis clavier pour les commandes ordinaires sont specifiees dans la section #command. La section d'edition de ligne consiste en une liste de paires touche/action, une paire par ligne, comme dans l'exemple ci-apres. EXEMPLE Le fichier d'entree suivant decrit l'ensemble des touches d'edition de ligne par defaut utilise par less(1) : #line-edit \t forw-complete \17 back-complete \e\t back-complete ^L expand ^V literal ^A literal \el right \kr right \eh left \kl left \eb word-left \e\kl word-left \ew word-right \e\kr word-right \ei insert \ex delete \kx delete \eX word-delete \ekx word-delete \e\b word-backspace \e0 home \kh home \e$ end \ke end \ek up \ku up \ej down ^G abort \e[M mouse \e[< mouse6 VARIABLES D'ENVIRONNEMENT DE LESS La section des variables d'environnement commence par la ligne #env Cette ligne est suivie d'une liste de definitions de variables d'environnement. Chaque ligne comporte un nom de variable d'environnement, un signe egal (=) et la valeur a affecter a la variable d'environnement. Les blancs situes avant et apres le signe egal sont ignores. Les variables definies de cette facon ne sont visibles que par less(1). Si une variable est specifiee a la fois dans l'environnement du systeme et dans un fichier lesskey, c'est la valeur definie dans le fichier lesskey qui a priorite. Si, a la place de =, le nom de la variable est suivi de +=, la chaine est concatenee a la valeur actuelle de la variable. Cette operation ne fonctionne actuellement que si la ligne contenant += suit immediatement la definition originelle de la meme variable (dans une ligne contenant =), sans definitions d'autres variables intercalees. Elle n'est possible que pour une variable definie dans le fichier, pas pour une variable de l'environnement du systeme. La chaine est concatenee litteralement sans ajout de blanc ; si un blanc est souhaite, il devra etre ajoute a la fin de la ligne precedente (il ne peut pas etre ajoute au debut de la chaine +=, car un blanc apres le signe egal est ignore, comme indique ci-avant). Dans la chaine situee apres le signe egal, une sous-chaine de la forme ${NOM_VAR} sera remplacee par la valeur de la variable d'environnement NOM_VAR. La valeur de la variable peut provenir de l'environnement du systeme, d'un fichier lesskey precedent ou d'une definition precedente dans le fichier lesskey actuel. Des remplacements de texte simples peuvent etre effectues en utilisant la syntaxe ${NOM_VAR/CHAINE_ORIG/CHAINE_REMPL}. Cette derniere remplace toutes les occurrences de << CHAINE_ORIG >> dans la variable d'environnement NOM_VAR par la chaine << CHAINE_REMPL >>. << CHAINE_ORIG >> est recherchee en effectuant une simple comparaison de textes ; les metacaracteres ne sont pas pris en charge. Toute occurrence de barre oblique (/) ou d'accolade fermante (}) dans << CHAINE_ORIG >> ou << CHAINE_REMPL >> doit etre protegee en la faisant preceder de DEUX barres obliques inversees. Si << CHAINE_REMPL >> est vide, toutes les occurrences de << CHAINE_ORIG >> seront supprimees. La presence d'une barre oblique immediatement avant l'accolade fermante n'est pas obligatoire. Il est possible d'effectuer des remplacements multiples en utilisant la syntaxe ${NOM_VAR/CHAINE_ORIG1/CHAINE_REMPL1/CHAINE_ORIG2/CHAINE_REMPL2/ ... CHAINE_ORIGn/CHAINE_REMPLn}. CONFIGURATION CONDITIONNELLE Si une ligne commence par << #version >> suivi d'un operateur de comparaison et d'un numero de version, le reste de la ligne ne sera traite que si la version de l'instance de less(1) (ou lesskey) en cours d'execution satisfait a la condition, ce qui peut s'averer utile dans le cas ou un fichier lesskey est utilise par differentes versions de less(1). Supposons par exemple qu'une nouvelle commande << sideways-search >> a ete ajoutee dans la version 777 de less(1) ; la ligne suivante assignera alors la nouvelle commande a la touche Q, mais seulement pour les versions de less(1) qui la prennent en charge et elle sera ignoree des versions de less(1) anterieures a 777. #version >= 777 Q sideways-search Six operateurs de comparaison sont pris en charge : > Superieure a < Inferieure a >= Superieure ou egale a <= Inferieure ou egale a = Egale a != Differente de La fonctionnalite << #version >> est prise en charge a partir de la version 594 de less(1) et lesskey. Dans les versions anterieures, toutes les lignes commencant par << #version >> seront ignorees. EXEMPLE Le fichier d'entree suivant active les options -i et -S a chaque execution de less(1) et ajoute une option --color pour les versions 595 et ulterieures. #env ## Notez qu'il doit y avoir une espace a la fin de la ligne suivante ## pour separer l'option --color de l'option -S. LESS = -i -S #version >= 595 LESS += --color=Hkc VOIR AUSSI less(1) AVERTISSEMENTS Sur les systemes MS-DOS et OS/2, certaines touches envoient une sequence de caracteres qui commence par le caractere NUL (NDT : de code ASCII 0). Ce caractere NUL doit etre represente sous la forme \340 dans un fichier lesskey. COPYRIGHT Copyright (C) 1984-2025 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 publiee par la Free Software Foundation ou de la Less License. Voir le fichier README dans la distribution de less(1) pour plus de details a propos de la redistribution. Vous devriez avoir recu une copie de la GNU General Public License en meme temps que less(1) ; voir le fichier COPYING. Si ce n'est pas le cas, ecrivez a la Free Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. Vous devriez aussi avoir recu une copie de la Less License ; voir le fichier LICENSE. less(1) est distribue dans le but d'etre utile, mais SANS AUCUNE GARANTIE ; sans meme une quelconque garantie de QUALITE MARCHANDE ou D'ADEQUATION A UNE UTILISATION PARTICULIERE. Consulter la GNU General Public License pour plus de details. AUTEUR Mark Nudelman Envoyez les rapports de bogue a . TRADUCTION La traduction francaise de cette page de manuel a ete creee par Lucien Gentis Cette traduction est une documentation libre ; veuillez vous reporter a la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITE LEGALE. Si vous decouvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message a . Version 679 : 28 mai 2025 LESSKEY(1)