¿Colores en golpe después de pasar por menos?

106

Cuando tengo dircolors definidos, la vida está llena de ... color.

Cuando lspaso lesspara desplazarme, pierdo los colores.

¿Alguna sugerencia?

MathewC
fuente

Respuestas:

105

Lo más probable lses que tenga un alias ls --color=auto, que le dice lsque solo use colores cuando su salida es tty. Si lo hace ls --color(que es moralmente equivalente a ls --color=always), eso lo obligará a encender los colores.

También podría cambiar su alias para hacer eso, pero realmente no lo llamaría una buena idea. Es mejor hacer un alias diferente con --color.

lessnecesidades -Rtambién.

caos
fuente
55
¿Por qué no lo llamarías una buena idea usar alias ls ls --coloro ls --color=always, para el caso?
j08lue
10
@ j08lue si canaliza a través de un comando que no maneja el color, obtendrá algunos caracteres basura que pueden estropear el comando. Por ejemplo, lo hice ls --color=always | lessy obtuve: ESC[01;32mexecute_once.shESC[0m(Sé que esto es viejo y probablemente no te importe, pero para futuros visitantes, esto puede ser útil)
Ryan Amos
55

Pruebe menos con la opción -R como esta:

command | less -R

Esto funciona para mí en una frase como esta:

ls -la | grep --color=always bash | less -r

Y así también:

ls --color | less -R

Pero debe ajustar un poco la salida primaria (la salida de ls en este caso) con el parámetro --color.

wzzrd
fuente
Gracias, esto también funciona para ack-grep. ack-grep my_string --color | less -R
igniteflow
1
--color no se reconoce: ls: opción ilegal - - Ejecutar bash en osx.
Scott Biggs
1
@Scott Biggs: en OSX no hay --color; pruebe ls -G
@ Lu-Chi, incluso con -Glos colores que faltan
Iulian Onofrei
1
La -Ropción es la abreviatura de --RAW-CONTROL-CHARS.
Rory O'Kane