Posso obter menos para não monocromear sua saída?
Por exemplo, a saída de git diffé colorida, mas git diff | lessnão é.
lessapenas sobre .
Posso obter menos para não monocromear sua saída?
Por exemplo, a saída de git diffé colorida, mas git diff | lessnão é.
lessapenas sobre .
Respostas:
Usar:
git diff --color=always | less -r
--color=alwaysexiste para informar gita saída de códigos de cores, mesmo se a saída for um pipe (não um tty). E -rexiste para dizer lesspara interpretar esses códigos de cores e outras seqüências de escape. Use apenas -Rpara códigos de cores ANSI.
git config color.ui truedeve ser suficiente para obter saída colorida e executar automaticamente um pager para saídas longas.
watch --color 'git diff --cached --color=always'e seus amigos podem lhe trazer uma grandiosidade adicional.
less -Rmelhor (ou export LESS=Rdentro /etc/profile)? Por que você permitiria que ele exibisse algo além de seqüências de escape de "cor" ANSI? Além disso, a página do manual dizWarning: when the -r option is used, less cannot keep track of the actual appearance of the screen (since this depends on how the screen responds to each type of control character). Thus, various display problems may result, such as long lines being split in the wrong place.
-ropção, basta digitar "-r" no lessprompt. Obviamente, isso funciona com quase todas as opções (ou seja, -iativar a ignorância).
grep --color=alwaysfunciona da mesma maneira. Isso não faz parte desta pergunta ou resposta, mas cheguei aqui ao pesquisar sobre essa questão, então está aí.
Outra opção seria ativar cores e usar 'less -r' como seu pager.
git config --global color.ui true
git config --global core.pager 'less -r'
Isto resulta em
[color]
ui = true
[core]
pager = less -r
no seu ~ / .gitconfig
Para mais informações, consulte o livro Pro Git .
color.ui truenão funcionava com um pager, mas funcionava color.ui always. Isso pode ter sido alterado desde que a resposta foi postada.
color.ui truefunciona com comandos como git -p diffe git -p status(onde -psignifica canalizar toda a saída para $ PAGER, por padrão é less) mesmo para versões bastante antigas do git (por exemplo , Git 1.7.1). Mas você ainda precisa color.ui always(que instrui o git a imprimir códigos de cores "mesmo que a saída seja um pipe (não um tty)") para obter uma saída colorida quando você especificar git status | less -rou git diff | less -r. Ao especificar o redirecionamento de saída explicitamente, você não verá a saída após sair do pager.
Use a opção -r( --raw-control-chars) para less ou também -R(apenas sequências de escape ANSI).
Eu tenho um apelido para isso em ~/.bashrc
alias rless='less -r'
alias less='less -r'. Alguma razão para não?
-rquando não necessário pode levar a problemas de visualização.
ackcom less -rvocê perde um retorno de carro
\lessse a visualização atrapalhar.
lessa qualquer coisa, basta definir a $LESSvariável de ambiente para o conjunto de sinalizadores que você sempre quer fornecer para less, por exemploexport LESS='-MRq -z-2 -j2’
Também treetem uma opção para forçar cores em:
tree -C | less -r
E assim por diante ls:
ls -lR --color | less -r
Apenas para adicionar outra versão no "use less -r":
use a variável de ambiente LESS com o valor r (ou adicione r ao que já é)
por exemplo, como eu uso no meu .bashrc
export LESS=-Xr
(O X interrompe a limpeza da tela ao sair menos)
Caso alguém esteja interessado em paginar um json com jqe lessisso pode ser alcançado usando:
jq -C <jq args> file.json | less -R
por exemplo
jq -C . file.json | less -R
Fonte: https://github.com/stedolan/jq/issues/764#issuecomment-95355331
Sei que isso é antigo e muitos já forneceram a resposta certa, mas gostaria de acrescentar que é sempre melhor usar less -Re não less -rse você precisar apenas de cores ANSI, pois -rpodem ocorrer problemas na exibição dos caracteres.
Do manual:
-r or --raw-control-chars
Causes "raw" control characters to be displayed. The default
is to display control characters using the caret notation; for
example, a control-A (octal 001) is displayed as "^A". Warn‐
ing: when the -r option is used, less cannot keep track of the
actual appearance of the screen (since this depends on how the
screen responds to each type of control character). Thus, var‐
ious display problems may result, such as long lines being
split in the wrong place.
-R or --RAW-CONTROL-CHARS
Like -r, but only ANSI "color" escape sequences are output in
"raw" form. Unlike -r, the screen appearance is maintained
correctly in most cases. ANSI "color" escape sequences are
sequences of the form:
ESC [ ... m