É possível reter menos a saída colorida?

267

Posso obter menos para não monocromar sua saída?

Por exemplo, a saída de git diff é colorida, mas git diff | less não é.

    
por ripper234 24.08.2011 / 14:13

6 respostas

305

Uso:

git diff --color=always | less -r

--color=always está lá para informar git para emitir códigos de cores, mesmo que a saída seja um pipe (não um tty). E -r está lá para informar less para interpretar esses códigos de cores e outras seqüências de escape. Use -R apenas para códigos de cores ANSI.

    
por 24.08.2011 / 14:18
50

Outra opção seria ativar cores e usar 'menos -r' como seu pager.

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

Isso resulta em

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

no seu ~ / .gitconfig

Para mais informações, consulte o livro do Pro Git .

    
por 28.01.2013 / 16:32
28

Use a opção -r ( --raw-control-chars ) para menos, ou também -R (somente seqüências de escape ANSI).

Eu tenho um alias para isso em ~/.bashrc

alias rless='less -r'
    
por 24.08.2011 / 14:17
11

Além disso, tree tem uma opção para forçar as cores:

tree -C | less -r

E assim por diante para ls :

ls -lR --color | less -r
    
por 04.07.2015 / 17:31
9

Apenas para adicionar outra versão no "use less -r":

use a variável de ambiente LESS com o valor r (ou adicione r a qualquer coisa que já seja)

por exemplo, como eu uso no meu .bashrc

  export LESS=-Xr

(O X pára a tela de limpar ao sair menos)

    
por 01.03.2015 / 17:12
3

Caso alguém esteja interessado em paginar um json com jq e less , pode ser obtido usando:

jq -C <jq args> file.json | less -R

por exemplo,

jq -C . file.json | less -R

Fonte: link

    
por 23.10.2017 / 16:43

Tags