Peut-on less conserver la sortie colorée?

Puis-je get less de ne pas monochrome sa sortie?

Par exemple, la sortie de git diff est colorée, mais git diff | less git diff | less n'est pas.

Utilisation:

 git diff --color=always | less -r 

--color=always est --color=always là pour dire à git de sortir les codes de colors même si la sortie est un tube (pas un tty). Et -r est là pour dire less d'interpréter ces codes de couleur et d'autres séquences d'échappement. Utilisez -R pour les codes de colors ANSI uniquement.

Une autre option serait d'activer les colors et d'utiliser 'less -r' comme votre pager.

 git config --global color.ui true git config --global core.pager 'less -r' 

Cela se traduit par

 [color] ui = true [core] pager = less -r 

dans votre ~ / .gitconfig

Pour plus d'informations, consultez le livre Pro Git .

Utilisez l' --raw-control-chars -r ( --raw-control-chars ) à less, ou aussi -R (uniquement les séquences d'échappement ANSI).

J'ai un alias pour cela dans ~/.bashrc

 alias rless='less -r' 

Également tree a une option pour forcer les colors sur:

 tree -C | less -r 

Et ainsi de suite pour ls :

 ls -lR --color | less -r 

Juste pour append une autre version sur "use less -r":

utilisez la variable d'environnement LESS avec la valeur r (ou ajoutez r à ce qu'elle est déjà)

par exemple, comme je l'utilise dans mon .bashrc

  export LESS=-Xr 

(Le X arrête l'écran de se dégager quand il sort less)