더 적은 색상 출력을 보존할 수 있습니까?

더 적은 색상 출력을 보존할 수 있습니까?

출력을 비단색으로 줄일 수 있나요?

예를 들어 의 출력은 git diff색상이 지정되어 있지만 git diff | less은 아닙니다.

답변1

사용:

git diff --color=always | less -r

--color=alwaysgit출력이 파이프(tty가 아님)인 경우에도 출력 색상 코드를 알 수 있습니까? 이러한 색상 코드와 기타 이스케이프 시퀀스를 해석하는 -r것이 가능 합니까 ? ANSI 색상 코드 less에만 적용됩니다.-R

답변2

또 다른 옵션은 색상을 활성화하고 호출기로 "less -r"을 사용하는 것입니다.

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

이로 인해

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

~/.gitconfig에서

자세한 내용은 다음을 참조하세요.전문 Git 서적.

가능한 값은 color.uigit-config의 매뉴얼 페이지에서 찾을 수 있습니다. 의 출력은 man git-config | grep "color.ui$" -A8다음과 같습니다

color.ui
    This variable determines the default value for variables such as color.diff and
    color.grep that control the use of color per command family. Its scope will expand as
    more commands learn configuration to set a default for the --color option. Set it to
    false or never if you prefer Git commands not to use color unless enabled explicitly
    with some other configuration or the --color option. Set it to always if you want all
    output not intended for machine consumption to use color, to true or auto (this is the
    default since Git 1.8.4) if you want such output to use color when written to the
    terminal.

답변3

less 또는 also (ANSI 이스케이프 시퀀스에만 해당) 에는 -r( ) 옵션을 사용합니다 .--raw-control-chars-R

별칭이 있어요~/.bashrc

alias rless='less -r'

답변4

tree색상을 강제하는 옵션 도 있습니다 :

tree -C | less -r

등등 ls:

ls -lR --color | less -r

관련 정보