선택적으로 전체 화면을 표시할 수 있는 CLI 호출기(메시지가 표시될 때)가 있습니까?

선택적으로 전체 화면을 표시할 수 있는 CLI 호출기(메시지가 표시될 때)가 있습니까?

지금 사용하고 있는데 less한 가지 달라졌으면 좋겠습니다.

이렇게 하면 git log --pretty=oneline --abbrev-commit즉시 전체 화면으로 전환되고(출력이 매우 길기 때문에) 99%의 경우 처음 5개 정도의 커밋에만 관심이 있습니다. 물론 할 수는 있지만 git log --pretty=oneline --abbrev-commit | head -n 5피하고 싶은 추가 작업입니다.

이상적으로는 호출기가 화면을 지우고 인계받지 않고 첫 번째 N 줄을 먼저 표시하고 싶습니다. 를 누르면 q종료되고 해당 5줄이 유지됩니다. (또는 무엇이든) 누르면 space평소처럼 전체 화면으로 전환됩니다. less -F좀 그렇긴 하지만 꼭 그런 것은 아닙니다. 긴 출력 시 전체 화면으로 이동하는 것을 피하고 싶습니다.

이 스크립트를 작성할 방법이 없습니다. 그것을 달성할 수 있는 대체 호출기가 있습니까? 아니면 어떤 방법으로든 가능합니까 less?

답변1

5줄의 git 로그만 원한다면 git의 자체 키를 사용하세요.

git log --pretty=oneline --abbrev-commit -n5

log 명령의 키 입력은 -n이 목적을 위해 특별히 설계되었습니다.

작동 시 git log --pretty=oneline --abbrev-commit | head -n 5호출기 요구 사항이 제거됩니다. 모든 이스케이프 시퀀스가 ​​제거된(색상 없음을 의미) 데이터 만 headTTY로 전송됩니다.


다른 옵션에 관심이 있다면 git관련이 없습니다. 그런 다음 tmux또는 gnu 와 같이 화면을 분할할 수 있는 터미널을 볼 수 있습니다 screen. 터미널 창을 분할하면 이제 하나의 창에 두 개의 셸이 있습니다. 하나는 표준 호출기를 실행하고 다른 하나는 다른 것을 실행합니다. 실제로는 두 개(또는 그 이상)의 콘솔이지만 창 관리자의 관점에서 보면 여전히 최대화-최소화-닫기 버튼 세트가 있는 하나의 창입니다.

Emacs또한 vim화면을 분할하여 한 부분은 셸에 제공하고 다른 부분은 일부 텍스트를 제공하는 것도 가능합니다.

most화면을 분할하고 여러 파일을 동시에 표시할 수 있는 호출기가 있습니다 . 비슷해 보이지만 vim편집되지 않았습니다.

관련 정보