확장 버퍼를 만드는 방법은 무엇입니까?

확장 버퍼를 만드는 방법은 무엇입니까?

터미널의 각 세션에 대한 모든 출력을 뒤로 스크롤할 수 있기를 원합니다.

예를 들어, 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`

관련 정보