터미널의 각 세션에 대한 모든 출력을 뒤로 스크롤할 수 있기를 원합니다.
예를 들어, cat
수백 또는 수천 줄의 대용량 파일에 사용되는 경우(저는 많은 파일에 많이 씁니다).
setterm --resize
, more
, 또는를 사용하지 않고 less
"필요" 시 자동 또는 수동으로 버퍼 크기를 늘리는 방법이 있습니까?
답변1
대답은 사용하는 터미널 에뮬레이터에 따라 다릅니다.
GNOME 터미널에서는 가능합니다. 프로필 기본 설정에서 "스크롤링" 섹션의 "다음으로 롤백 제한:"이 선택 해제되어 있는지 확인하세요.
반면 Kitty는 무제한 스크롤백 버퍼 크기 설정을 허용하지 않으며 거대한 스크롤백 버퍼를 가지고 있습니다.권장되지 않음; 그러나 별도의 페이징 스크롤백 버퍼를 유지할 수 있습니다(pager 를 사용하여 액세스할 수 있음 CtrlShiftH).
답변2
IMO, 당신은 잘못된 문제를 해결하고 있습니다. 더 정확하게 말하면, cat
대용량 파일에도 사용하는 것이 더 합리적인 경우에 사용하면 less
원치 않는 문제가 발생하게 됩니다.
그냥 그것을 사용하는 습관을 들여보세요 less
. 스크롤 없이 전체 파일을 터미널에 표시할 수 있는 경우 -F
( ) 옵션을 사용하면 자동으로 종료됩니다. --quit-if-one-screen
따라서 cat
짧은 파일(앞으로 및 뒤로 이동, 내장 검색 등)과 긴 파일에 대한 호출기처럼 작동합니다. 추가 보너스는 cat 대신 less를 습관적으로 사용함으로써 실수로 바이너리를 cat하여 터미널을 복잡하게 만드는 위험을 피할 수 있다는 것입니다.
이는 별칭을 설정하거나 alias less='less -F'
LESS 환경 변수(예: )를 설정하여 export LESS=-F
기본값으로 설정할 수 있습니다.
물론 이것은 내 것과 같은 다른 적은 옵션과 결합될 수 있습니다 ~/.bashrc
.
export LESS=-MFRqx4ij3
그건 그렇고, 나는 10,000줄의 스크롤백 버퍼를 갖도록 터미널 애플리케이션을 설정했습니다. 이것은 거의 항상 충분하며, 스크롤 버퍼의 더 뒤쪽에 있는 것은 내가 지금 하고 있는 작업과 거의 관련이 없습니다.
답변3
이 게시물을 찾았습니다:
https://stackoverflow.com/questions/5243445/bash-command-to-change-size-of-bash-window
"Pillpusher"의 답변은 제가 추구하는 것에 완벽합니다. 내 필요에 맞게 숫자를 변경하면 됩니다.
"resize 명령은 창의 크기를 변경하는 데 사용되지만
터미널에 전체 영역을 사용하도록 지시하지 않으면 이상한 일이 발생할 수 있습니다. 이것이 제가 사용하는 것이며 훌륭하게 작동합니다."
`#!/bin/bash`
`resize -s 33 100`
`stty rows 33`
`stty cols 100`