나는 종종 콘솔(GUI 없음)에서 매뉴얼 페이지를 사용하지만, 내가 사용하고 있는 와이드스크린에는 텍스트 모드에 많은 열이 있습니다. 줄이 너무 길어서 읽기 불편해요.
man
less
사용되는 열 수를 제한하는 방법(또는 내부적으로 사용하는 방법)이 있습니까 ?
답변1
동적으로 포맷된 매뉴얼이 있는 Linux 시스템을 사용한다고 가정하고 COLUMNS
또는 MANWIDTH
환경 변수를 원하는 선 너비로 설정하십시오.
COLUMNS=72 man ...
MANWIDTH
쉘의 시작 파일에 적절한 값을 설정 하고 싶을 수도 있지만 COLUMNS
다른 많은 프로그램에서도 이 값을 사용합니다 man
.
export MANWIDTH=72
사용 중인 시스템에서mandoc
man
-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 유틸리티입니다.less
fold
파이프는 man
다음과 같이 오버로드된 이름을 가진 셸 함수로 나타낼 수 있습니다.
man () {
command man "$@" | fold -s -w 72 | less
}
표준은 아니지만 이 유틸리티는 일반적이며 아마도 fmt
긴 줄을 접는 유틸리티보다 더 나은 작업을 수행할 것입니다. fold
위의 파이프라인에 있는 것을 교체하여 시도해 보십시오 fold -s -w 72
.fmt -w 72