수은제. 적은 색상으로 파이프 출력


35

운영 체제 : Mac OS 10.6.2

특정 명령을 덜 파이핑 할 때 컬러 출력을 볼 수 있기를 바랍니다.

두 가지 예 :

에 대한 별칭이 있어서이 ls --color=auto작업을 수행 할 때 색상을 볼 수 있기를 바랍니다.

ls -l | less

Mercurial에서 색상 확장 기능을 사용하도록 설정 했으므로 다음에서 출력되는 색상을보고 싶습니다.

hg diff | less

hg st | less

인터넷 검색을 한 후에는이 작업을 수행하는 데 약간의 지원이없는 -r 또는 -R 버전처럼 보이지만 주사위는 없습니다. 맨 페이지에서 필요한 것 같은 것을 볼 수 없습니다. (-r 또는 -R SEEM이 올바른 옵션이지만 다시 작동하지 않는 것 같습니다)


1
파이프 확장시 색상 확장이 항상 비활성화 된 것 같습니다. 무슨 뜻인지 보려면 다음 명령을보십시오 : ls --color=always | ls -Rhg diff --config color.mode=ansi | less -R
하비

답변:


30

수은의 경우 명시 적으로 덜 파이핑하는 대신 호출기 확장을 사용해야합니다 . 이것은 다른 hg 명령의 컬러 출력 옵션과 잘 어울립니다.


13

난 당신이 사용해야하는 생각 --color=always을 위해 ls당신이하지 않을 때조차 색상을 수행하려는 경우 stdout. 그런 다음 명령을 사용 -r하십시오.less

ls --color=always -l | less -r

12

~ / .hgrc에 다음을 입력하십시오.

[extensions]
color =
pager =

[pager]
pager = LESS='FRSXQ' less
quiet = True
attend = outgoing,incoming,diff,status,log,qdiff,blame,annotate,pdiff,glog

왜 그 quiet = True부분?
einpoklum-복직 모니카

좋은! LESS='eiFRSXQ'또한 EOF에 도달 한 후 종료하고 검색하는 동안 사례를 무시하는 것이 좋습니다.
sebastian

11

하다:

$ hg diff --color always | less -R

별명을 "less -R"로 줄입니다. 수은 명령에 기본 옵션을 제공 --color always하여 hg diff항상 입력하는 것을 기억할 필요가 없는지 잘 모르겠습니다 .


1
또는 $ hg diff --color always | less -FRSXQ더 적은 옵션을 사용하십시오. 예를 들어 diff가 화면에 맞으면 자동으로 종료됩니다.
jpbochi

1
"less"자체의 별칭 지정 대신 LESS = "-R"을 설정할 수 있습니다.
blueyed

-F파일이 생성되는 동안 파일을 계속 읽거나 -S줄 바꿈하지 않고, -X모호한 것이지 , -Q터미널 벨 울림을 피합니다.
Evgeni Sergeev


0

ls --color=auto그것은 무언가에 파이프 되지 않을 때 컬러 출력을 얻는 것을 의미합니다 . 시도 ls --colour=auto | cat하면 내가 무슨 뜻인지 알 수 있습니다.

나는 hg가 비슷한 가정을 할 것으로 기대합니다.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.