Les deux révisions précédentesRévision précédente | |
sysadmin:linux:cli:less [2022/05/14 19:17] – yoann | sysadmin:linux:cli:less [2022/05/15 14:02] (Version actuelle) – yoann |
---|
===== Colorisation ===== | ===== Colorisation ===== |
| |
**less** comme de nombreux programmes **CLI** s'appuie sur **termcap** pour adapter l'affichage produit aux différents terminaux. La définition de certaines variables de configuration permet de choisir comment coloriser certains éléments de texte. | **less** comme de nombreux programmes **CLI** s'appuie sur **termcap** pour formater correctement l'affichage sur les différents types de terminaux. Via des variables d'environnement on peut redéfinir le formatage utilisé par less et ainsi coloriser certains éléments de texte. |
| |
^ LESS_TERMCAP_md | Démarre effet gras (bold effect double-bright) | | Ci-dessous quelques variables disponibles pour la redéfinition du formatage du texte par less: |
^ LESS_TERMCAP_me | Stoppe effet gras | | |
| ^ LESS_TERMCAP_md | Démarre effet gras (bold effect) | |
| ^ LESS_TERMCAP_mb | Démarre effet clignotement (blink effect) | |
| ^ LESS_TERMCAP_me | Stoppe effets gras, souligné ou clignotement | |
^ LESS_TERMCAP_us | Démarre effet souligné | | ^ LESS_TERMCAP_us | Démarre effet souligné | |
^ LESS_TERMCAP_ue | Stoppe effet souligné | | ^ LESS_TERMCAP_ue | Stoppe effet souligné | |
^ LESS_TERMCAP_so | Démarre effet emphasis (stand-out effect) | | ^ LESS_TERMCAP_so | Démarre inversion vidéo(stand-out effect) | |
^ LESS_TERMCAP_se | Stoppe effet emphasis | | ^ LESS_TERMCAP_se | Stoppe inversion vidéo | |
| |
La séquence de colorisation a le formatage suivant: | |
| |
* **''\e''** identifie le début de séquence | Les valeurs des variables sont des [[sysadmin:linux:cli:sequences_controle_ansi|séquences de contrôle ANSI]]. Elles peuvent être récupérées via la commande **tput** ou être renseignées directement. |
* **''m''** identifie la fin de la séquence et active la code. | |
* les nombres entre **''[''** et ''**m**'' encode les couleurs à utiliser pour l'arrière plan et les caractères. | |
| |
Par exemple: | Dans l'exemple ci-dessous on définit une fonction man() qui lorsqu'elle sera invoquée, se chargera de définir les variables puis d'appeler la commande man en lui transmettant à la fois les variables et les arguments positionnels: |
| |
^ %%'\e[01;31m'%% | Arrière plan noir et texte en rouge | | <code bash> |
^ %%'\e[01;32m'%% | Arrière plan noir et texte en vert | | man() { |
^ %%'\e[45;93m'%% | Arrière plan magenta; texte jaune | | LESS_TERMCAP_mb=$'\e[1;31m' \ |
| LESS_TERMCAP_md=$'\e[1;33m' \ |
| LESS_TERMCAP_so=$'\e[01;44;37m' \ |
| LESS_TERMCAP_us=$'\e[01;37m' \ |
| LESS_TERMCAP_me=$'\e[0m' \ |
| LESS_TERMCAP_se=$'\e[0m' \ |
| LESS_TERMCAP_ue=$'\e[0m' \ |
| GROFF_NO_SGR=1 \ |
| command /usr/bin/man "$@" |
| } |
| </code> |
| |
| |
* https://www.howtogeek.com/683134/how-to-display-man-pages-in-color-on-linux/ | * https://www.howtogeek.com/683134/how-to-display-man-pages-in-color-on-linux/ |
* https://unix.stackexchange.com/questions/119/colors-in-man-pages | * https://unix.stackexchange.com/questions/119/colors-in-man-pages |
| * https://unix.stackexchange.com/questions/108699/documentation-on-less-termcap-variables |