프로그램을 종료 할 때 "man"은 어떻게 화면을 복원합니까?


18

cator 와 같은 프로그램의 매뉴얼 페이지를 열면 매뉴얼 페이지의 ls내용을 인쇄하고 (적절한 단어가 아닐 수 있음)을 누르면 명령을 q호출하기 전에 화면이 표시 man됩니다. 복원은 어떻게 이루어 집니까? 무엇이 모든 것을 지운 다음 쉘의 이전 내용을 인쇄합니까?

예:

[VAR121@Tesla Testing]$  man ls

산출:

LS(1)                                                        User Commands                                                        LS(1)

NAME
       ls - list directory contents

SYNOPSIS
       ls [OPTION]... [FILE]...

 ............

을 누르면 q화면이 아래와 같이 쉘 기본 모양으로 돌아갑니다.

[VAR121@Tesla Testing]$  man ls
[VAR121@Tesla Testing]$

화면은 어떻게 복원됩니까?

답변:


19

"용지"는 화면이 실제로 사용하고있는 단말 에뮬레이터의 함수 인 "복원"( xterm, gnome-terminal, konsole, screen).

기본적으로 man사용 하는 호출기 는입니다 less.

에서 man 1 man

   -P  pager
          Specify  which pager to use.  This option overrides the 
          MANPAGER environment variable, which in turn overrides 
          the PAGER variable.  By default, man  uses /usr/bin/less -is.

less호출 되면 터미널 에뮬레이터가 대체 화면을 시작하여 매뉴얼 페이지의 내용을 표시합니다. 때 less종료는 altscreen이 파괴되고 터미널 디스플레이는 어떤 버퍼에 저장되었습니다.

여기에 더 자세한 내용과 lessaltscreen을 시작 하지 않고 프로그램 이 종료 될 때 화면을 지우는 것과 같은 프로그램을 유지하는 방법에 대한 답변이 있습니다 . 간단히 말해서, 환경 변수를 정의하여 less호출시 대체 화면을 시작하지 않도록 할 수 있습니다. bash를 사용하는 경우 ~ / .bashrc에 넣으십시오.

export MANPAGER="/usr/bin/less -r -X -is"


1
같은 이야기 vi?
VAR121

3
vim은 터미널 에뮬레이터의 대체 화면을 존중합니다. ~ / .vimrc- "set t_ti = t_te ="에 이와 같은 것을 추가하여 vim이 사용하는 터미널 기능을 변경할 수 있습니다.
George M
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.