사람을 더 적게 파이핑할 때 어떻게 색칠을 계속하나요?

사람을 더 적게 파이핑할 때 어떻게 색칠을 계속하나요?

.zshrc내 파일에 이게 있어요

export MANLESS=""
export LESS="--RAW-CONTROL-CHARS"
export LESS_TERMCAP_mb=$(tput bold; tput setaf 5)
export LESS_TERMCAP_md=$(tput bold; tput setaf 1)
export LESS_TERMCAP_so=$(tput setaf 1; tput setab 3)
export LESS_TERMCAP_se=$(tput rmso; tput sgr0)
export LESS_TERMCAP_us=$(tput setaf 3)
export LESS_TERMCAP_ue=$(tput sgr0)

man 을 다음과 같이 사용할 때: man zshexpn멋진 색상의 섹션이 있습니다.

여기에 이미지 설명을 입력하세요.

man 페이지의 같은 부분에서 man을 다음과 같이 사용하면 man zshexpn | less '+/PROCESS SUBSTITUTION'더 이상 색상이 지정되지 않습니다.

여기에 이미지 설명을 입력하세요.

첫 번째 경우와 마찬가지로 두 번째 경우에도 컬러 출력을 얻으려면 어떻게 해야 합니까?

답변1

나는 당신이 man주류 Linux 배포판을 사용하고 있다고 가정합니다. man수동으로 파이프했기 때문에 출력이 터미널이 아닌 경우 기본적으로 형식이 제거됩니다(다른 시스템에서도 less마찬가지입니다).

MAN_KEEP_FORMATTINGnull이 아닌 값으로 설정하여 이를 재정의 할 수 있습니다 .

MAN_KEEP_FORMATTING=1 man zshexpn | less '+/PROCESS SUBSTITUTION'

이 동작을 기본값으로 설정하려면 MAN_KEEP_FORMATTING다른 설정과 함께 내보내야 합니다. 이는 man출력 시 모든 호출에 영향을 미칩니다.아니요결국 터미널에서 처리됩니다(예를 들어출력을 원할 경우 grep).

답변2

파이프를 통해 less추가 옵션을 전달하는 대신 LESS이러한 추가 옵션을 변수에 전달하세요.

LESS="$LESS +/PROCESS SUBSTITUTION" man zshexpn

관련 정보