Comment forcer le programme less
à ne pas effacer l'écran à la sortie?
J'aimerais qu'il se comporte comme la commande git log
:
less
même si le contenu ne tient que sur un seul écran (essayez git log -1
)Des idées? Je n'ai pas trouvé d'options less
ni de variables env appropriées dans un manuel. Je suppose que cela a été défini via une variable env.
Pour empêcher less
d’effacer l’écran à la sortie, utilisez -X
.
De la page de manuel:
-X ou --no-init
Désactive l'envoi des chaînes d'initialisation et de désinitialisation de termcap au terminal. Cela est parfois souhaitable si la chaîne de désinitialisation fait quelque chose d'inutile, comme effacer l'écran.
Quant à moins de sorties si le contenu ne tient que sur un seul écran, c’est l’option -F
:
-F ou --quit-si-un-écran
Moins permet de quitter automatiquement si tout le fichier peut être affiché sur le premier écran.
-F
n'est pas la valeur par défaut, alors il est probablement prédéfini quelque part pour vous. Vérifiez la variable env LESS
name__.
Si vous souhaitez que l'une des options de ligne de commande soit toujours définie par défaut, vous pouvez ajouter à votre variable .profile ou .bashrc la variable d'environnement LESS. Par exemple:
export LESS="-XF"
appliquera toujours -X -F chaque fois que moins est exécuté à partir de cette session de connexion.
Parfois, les commandes sont aliasées (même par défaut dans certaines distributions). Pour vérifier cela, tapez
alias
sans arguments pour voir si elle a été aliasée avec des options que vous ne voulez pas. Pour exécuter la commande réelle dans votre $ PATH au lieu d'un alias, il suffit de la préfacer avec une barre oblique inverse:
\less
Pour voir si une variable d’environnement LESS est définie dans votre environnement et affecte le comportement:
echo $LESS
Ou simplement le configurer dans votre configuration globale git:
git config --global core.pager 'less -FX'
De cette façon, les autres outils ne sont pas affectés (ce que j'aime bien).