web-dev-qa-db-fra.com

Écran d'effacement des commandes 'moins' à la sortie - comment l'éteindre?

Comment forcer le programme less à ne pas effacer l'écran à la sortie?

J'aimerais qu'il se comporte comme la commande git log:

  • il laisse la page récemment vue à l'écran en quittant
  • il ne quitte pas la 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.

76
Wojciech Kaczmarek

Pour empêcher lessd’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 LESSname__.

93
sleske

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
16
Derek Douville

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).

1
Lester Cheung