man의 열 수를 제한하십시오(또는 그 이하).

man의 열 수를 제한하십시오(또는 그 이하).

나는 종종 콘솔(GUI 없음)에서 매뉴얼 페이지를 사용하지만, 내가 사용하고 있는 와이드스크린에는 텍스트 모드에 많은 열이 있습니다. 줄이 너무 길어서 읽기 불편해요.

manless사용되는 열 수를 제한하는 방법(또는 내부적으로 사용하는 방법)이 있습니까 ?

답변1

동적으로 포맷된 매뉴얼이 있는 Linux 시스템을 사용한다고 가정하고 COLUMNS또는 MANWIDTH환경 변수를 원하는 선 너비로 설정하십시오.

COLUMNS=72 man ...

MANWIDTH쉘의 시작 파일에 적절한 값을 설정 하고 싶을 수도 있지만 COLUMNS다른 많은 프로그램에서도 이 값을 사용합니다 man.

export MANWIDTH=72

사용 중인 시스템에서mandocman-O width=72, 72사용하려는 너비가 있는 옵션과 함께 사용됩니다 . 시스템은 mandoc기본 너비를 사용하므로 78너무 긴 행을 가져오는 것은 일반적으로 문제가 되지 않습니다. 여기서는 너비를 더 좁은 값으로 수정하려는 경우에만 언급합니다.

이러한 시스템에서는 다음과 같이 대화형 셸의 별칭을 정의할 수 있습니다.

alias man='man -O width=72'

...또는 오버로드된 이름을 가진 쉘 함수 man:

man () {
    command man -O width=72 "$@"
}

가난한 사람의 선택은 텍스트를 fold파이핑하기 전에 다음과 같이 파이핑하는 것입니다 less.

man ... | fold -s -w 72 | less

이렇게 하면 man출력을 표시하기 전 열 72 또는 마지막 공백의 출력이 축소됩니다. 표준 Unix 유틸리티입니다.lessfold

파이프는 man다음과 같이 오버로드된 이름을 가진 셸 함수로 나타낼 수 있습니다.

man () {
    command man "$@" | fold -s -w 72 | less
}

표준은 아니지만 이 유틸리티는 일반적이며 아마도 fmt긴 줄을 접는 유틸리티보다 더 나은 작업을 수행할 것입니다. fold위의 파이프라인에 있는 것을 교체하여 시도해 보십시오 fold -s -w 72.fmt -w 72

관련 정보