여기 내 데비안 시스템에서, less
언제나 대체 화면을 열어 물건을 보여줍니다.
표시 할 라인이 2 ~ 3 개 밖에 없다면 이는 성가신 일입니다. 내가 좋아하는 것 less
에:
-
정보가 충분하지 않은 경우 호출기로 작동합니다.
-
같이 작동하고
cat
, 그렇지 않으면.
분명히, less
~을 가지고있다. -F
“단일 화면”사례에 대한 플래그 :
-F 또는 – if-one-one-screen
첫 번째 화면에 전체 파일을 표시 할 수있는 경우 자동 종료 기능을 줄입니다.
그러나 제 경우에는 단지 다시 나옵니다. 정보는 표시되지 않습니다. 더 좋아해. cat /dev/null
따라서별로 유용하지 않습니다.
누구든지 아이디어를 얻었습니다. 어떻게 달성 할 수 있습니까? less
행동?
답변
결합 할 수 있습니다. -F
와 -X
이 명령은 terminfo 초기화 순서를 비활성화합니다.
export LESS=-FX
이것은 이점을 가진다. less
파일이 얼마나 오래 있었는지에 상관없이 종료시 표시된 텍스트를 지우지 않습니다.
답변
다음과 같이 작은 래퍼 스크립트를 만들 수 있습니다.
#!/bin/bash
if (( $(wc -l < "$1") < ${LINES:-20} ))
then
cat "$1"
else
less "$1"
fi
당신이 그것을 창조한다면 /usr/local/bin
또는 ~/bin
다음과 같은 파일로 less2
(매우 짧은 이름을 사용하는 것이 좋습니다. l
쉬운 타이핑을 위해서), 그리고 그것이 실행 파일인지 확인하십시오. chmod a+x /usr/local/bin/less2
, 대신에 사용할 수 있습니다. less
형식 명령 less 파일 이름
, 즉, less2 파일 이름
(또는 l 파일 이름
).
다른 명령의 출력을 통해 다음 명령을 파이프하는 경우에는 작동하지 않습니다. less
,
또는 옵션 또는 여러 파일 이름을 지정하는 경우.
추가 스크립트 파일없이 동일한 작업을 수행하는 것은 의심의 여지가 없습니다. 별명 원하는 경우 함수.
답변
같이 말하는 으로 자부심 , 당신은 패스 할 수 있습니다. -F -X
이것을 달성하기 위해, 그러나 그것은 의미한다. less
터미널 스크롤 백에 많은 텍스트를 남겨 둡니다 (그리고 순서가 맞지 않을 수도 있습니다. less
). less
네가 지나갈 때 아무것도 출력하지 않는다. -F
~이다. 알려진 문제 # 303 .
대신 래퍼 스크립트를 사용할 수 있습니다. 느린 입력의 경우 git log -Gregex
, 원하십니까 :
A) 주 화면이 나타날 때 줄을 표시 한 다음 스크롤이 필요할 때 대체 화면으로 전환하십시오 (따라서 첫 번째 $LINES
출력 결과는 항상 스크롤바에 나타납니다.); 그렇다면 2 번째 Gilles의 비슷한 질문에 대한 답변 .
B) 줄이 대체 화면에 나타나지 만 스크롤이 불필요한 것으로 판명되면 대체 화면을 종료하고 줄을 기본 화면에 인쇄합니다 (따라서 스크롤이 필요하면 스크롤백에 아무런 출력도 나타나지 않습니다). 그렇다면 비슷한 질문에 대한 내 대답 .