저의 일반적인 작업 흐름 중 하나는 터미널에서 매뉴얼 페이지를 연 다음 테스트 할 다른 터미널을 여는 것입니다. 매뉴얼 페이지는 첫 번째 터미널의 초기 크기로 형식이 지정됩니다. 이제 창 크기를 조정하거나 WM이 자동으로 수행하도록하면 미리 서식이 지정된 페이지 오른쪽에 간격이 있거나 줄 바꿈이 있습니다. 이 시점에서 나는 일반적으로 q
(uit) 및 !!
(다시 실행) 페이지에서 내 위치를 잃습니다.
나는 포맷 프로세스가 CPU 집약적이거나 고대 고정 터미널 크기에서 비롯된 것이라고 가정합니다. less
은 이론적으로 가능해야하므로 호출기 동적으로 터미널 크기 조정 이벤트에 반응한다.
맨 페이지를 꼼꼼히 살펴보고, 웹을 검색하고, IRC에 대해 물어 보았지만, 아무 것도 생각하지 못했습니다.
man 유틸리티 내부 또는 외부에서 재 포맷을 트리거 할 수 있습니까?
페이지 크기를 동적으로 조정하는 man 유틸리티 버전이 있습니까?
서식 / 표시 프로세스의 일부를 사용자 지정하여 업데이트 할 수있는 방법이 SIGWINCH
있습니까?
기본적인 문제는 포맷이 한 프로그램에서 수행되고 페이징이 다른 프로그램에서 수행된다는 것입니다. 포맷터가 창 크기가 변경되었다는 신호를 받고 새 창 크기에 맞게 텍스트를 다시 형식화하는 경우에도 파이프 라인을 따라 호출기로 새 텍스트를 공급하는 것뿐입니다. 호출기가 새 스트림의 위치가 현재 표시되고있는 이전 스트림의 위치에 해당하는지 확실하게 알 수있는 방법은 없습니다.
필요한 것은 호출기가 재 형식화를 수행 할 수있는 것입니다. @Robin Green이 말했듯이 그것은 HTML입니다.
HTML을 사용하고 싶지만 여전히 터미널에서 작업하는 경우 HTML man(1)
로 출력하도록 지시하고 텍스트 모드 브라우저를 호출하여 표시 할 수 있습니다.
man -Hlynx man
그러면 man(1)
lynx 텍스트 모드 브라우저에 맨 페이지 가 표시됩니다 . Lynx는 창 크기 변경에 직접 응답하지 않지만 ctrl-R을 누르면 새 창 크기에 맞게 페이지를 다시 렌더링합니다.
내가 아는 두 가지 다른 텍스트 모드 브라우저는 링크와 elink입니다. 이들과 lynx를 실험 해보고 맨 페이지를 탐색하는 데 가장 좋은 경험을 제공하는 것을 결정할 수 있습니다. 매뉴얼 페이지에만 사용자 정의 구성을 사용하고 특정 구성으로 브라우저를 호출하는 스크립트를 호출 할 수 있습니다.
원하는 man 옵션을 MANOPT
환경 변수에 넣을 수 있습니다 .
$ export MANOPT=-Hlynx
$ export MANOPT=-Hmanlynx # provide your own wrapper to execute
# lynx with a different configuration.
HTML을 생성 하려면 groff
패키지 를 설치해야합니다 man
.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다