종료시 'less'명령 지우기 화면-어떻게 끄는가?


79

less종료시 프로그램이 화면을 지우지 않도록 하는 방법은 무엇입니까?

나는 git log명령 처럼 행동하고 싶습니다 :

  • 나가면 최근에 본 페이지가 화면에 남습니다.
  • less내용이 한 화면에 맞는 경우에도 종료하지 않습니다 (시도 git log -1)

어떤 아이디어? less매뉴얼에서 적절한 옵션이나 env 변수를 찾지 못했지만 일부 env 변수를 통해 설정되어 있다고 생각합니다.


아마도 스크롤링 측면이 더 적을 more것이므로 적합하지 않습니까?
Svend

답변:


95

less종료시 화면이 지워지지 않게하려면을 사용하십시오 -X.

맨 페이지에서 :

-X 또는 --no-init

termcap 초기화 ​​및 초기화 해제 문자열을 터미널로 전송하지 못하게합니다. 초기화 해제 문자열이 화면 지우기와 같은 불필요한 작업을 수행하는 경우 때때로 바람직합니다.

내용이 한 화면에 맞는 경우 덜 나가는 옵션은 -F다음과 같습니다.

-F 또는 --quit-if-one-screen

전체 파일을 첫 번째 화면에 표시 할 수있는 경우 자동 종료가 줄어 듭니다.

-F하지만 기본값은 아니므로 미리 설정되어있을 수 있습니다. env var 확인하십시오 LESS.


우수한! -X는 내가 생각한 것입니다.
Wojciech Kaczmarek

7
당신이 알고있는 경우에 특히 성가신 -F하지만 -X그런 다음 초기화의 화면이 짧은 파일은 단순히 분명한 이유도없이 나타나지 않을 것 재설정 시스템에 이동. ack내가 ACK_PAGER='less -RF'설정을 Mac 으로 가져 가려고했을 때 나는 이것을 물었다 . 무리 감사!
markpasc

@markpasc : 지적 해 주셔서 감사합니다. 나는이 조합 이이 효과를 일으킬 것이라는 것을 알지 못했지만 이제는 분명합니다.
sleske

7
'q'키를 사용하여 종료하는 즉시 매뉴얼 페이지가 사라지지 않도록 매뉴얼 페이저에 특히 유용합니다. 즉, 정보를 사용하기 위해 적은 페이저를 종료 할 때만 사라지기를 원하는 맨 페이지의 위치로 스크롤합니다. 그래서 나는 export MANPAGER='less -s -X -F'.bashrc에 추가 하여 종료 할 때 매뉴얼 페이지 정보를 화면에 유지하여 실제로 암기하는 대신 사용할 수 있도록했습니다.
Michael Goldshteyn

2
less종료 할 때 어떻게 행동 해야하는지 시작할 때 결정 해야한다는 것을 짜증나게합니다.
Michael Burr

17

명령 행 옵션을 항상 기본값으로 사용하려면 LESS 환경 변수를 .profile 또는 .bashrc에 추가 할 수 있습니다. 예를 들면 다음과 같습니다.

export LESS="-XF"

해당 로그인 세션에서 덜 실행될 때마다 항상 -X -F를 적용합니다.

경우에 따라 명령의 별칭이 지정되기도합니다 (기본적으로 특정 배포판에서도). 이를 확인하려면 다음을 입력하십시오.

alias

원하지 않는 옵션으로 별칭이 지정되어 있는지 확인하십시오. 별명 대신 $ PATH에서 실제 명령을 실행하려면 백 슬래시로 시작하십시오.

\less

환경에 LESS 환경 변수가 설정되어 있고 작동에 영향을 미치는지 확인하려면 다음을 수행하십시오.

echo $LESS

2
사실, 나는 export LESS="-XFR"색상이 less잘 보이도록 추가 합니다.
dotancohen

2
고마워요! -XF그 자체의 출력을 파괴했다 git diff, 그리고 -XFR두 세계의 최고 얻을 수 - 아니 화면 지우기하지만 색 git diff출력을.
Giles Thomas

1

또는 전역 git 구성에서 설정하십시오.

git config --global core.pager 'less -FX'

이런 식으로 다른 도구는 영향을받지 않습니다 (좋아합니다).

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.