TMUX에서 스크롤 백 버퍼 크기를 늘리는 방법은 무엇입니까?


328

에서 스크롤 백 버퍼 크기를 늘리려면 어떻게해야 tmux합니까?

복사 모드로 들어가면 사용 가능한 스크롤 백 행 수 (오른쪽 상단에 표시)가 항상 2000 미만입니다. 모든 tmux 명령 목록을 찾으려고했지만 스크롤 백 크기에 대해서는 찾을 수 없습니다. 모두에게 해당 옵션을 설정하는 screen명령 이 작동하지 않습니다 tmux.

사용 tmux1.8, 우분투 12.04 LTS, 중 konsole또는 gnome-terminal.

답변:


428

히스토리 한계는 분할 창 작성시 고정되어 기존 분할 창에 대해 변경할 수없는 분할 창 속성입니다 . 값은 history-limit세션 옵션 에서 가져옵니다 (기본값은 2000).

다른 값으로 창을 만들려면 창을 history-limit만들기 전에 적절한 옵션 을 설정해야합니다 .

다른 기본값을 설정하려면 .tmux.conf파일에 다음과 같은 줄을 넣을 수 있습니다.

set-option -g history-limit 3000

참고 : 매우 큰 기본값을 신중하게 설정하십시오. 많은 분할 창을 작성하면 많은 RAM을 쉽게 사용할 수 있습니다.

기존 세션의 새 창 (또는 새 창의 초기 창)의 경우 해당 세션을 설정할 수 있습니다 history-limit. 쉘에서 다음과 같은 명령을 사용할 수 있습니다.

tmux set-option history-limit 5000 \; new-window

새 세션의 경우 (초기 창의 초기 창) 세션을 history-limit만들기 전에 “전역”을 설정해야합니다 .

tmux set-option -g history-limit 5000 \; new-session

참고 : history-limit값을 다시 설정하지 않으면 이후에 생성 된 다른 창 / 창 / 세션에도 새 값이 사용됩니다. 없이 고유의 한계와 하나의 새로운 창 / 창 / 세션 (적어도 일시적으로) 변화를 만들 수있는 직접적인 방법이 현재 존재 history-limit하지만 ( show-option나중에 복원되도록 현재의 값을 검색에 도움이 될 수 있습니다 (특히 이후 1.7과는) ).


26
"라인"이 실제로 그 안에있는 문자이면 128 바이트가 메모리에서 적절한 라인 크기라고 가정 할 수 있습니다. 단일 창 (나에게 적합한 창을 많이 사용하지 않음)에 대해 뒤로 스크롤하기 위해 32MB를 커밋하려는 경우 히스토리 제한을 대략 2 ** (25 - 7) = 256K25,000 행 으로 늘릴 수 있습니다.
phs

8
나는 정착했다set-option -g history-limit 50000
phs

2
광산은 새로운 판유리 임에도 불구하고 약 4700까지 올라가는 것 같습니다. tmux 1.9
wuxmedia

4
.tmux.conf 파일을 찾을 위치를 모르는 사용자는 ~ / .tmux.conf에서 새 파일을 만든 다음이 단일 행을 파일 set-option -g history-limit 50000에 추가하면됩니다.
C.Lee

1
내가 조금 깡패를 만났다. 이 변경 사항을 적용하려면 모든 tmux 세션을 닫아야합니다. GNU 화면에서 나올 때마다 각각의 새 화면 세션이 ~ / .tmux.conf를 제공한다고 가정했지만 그렇지 않습니다. 모든 tmux 세션이 닫히고 새 세션이 열릴 때만 ~ / .tmux.conf에 대한 변경 사항이 적용됩니다.
rudolph9

24

다음 명령으로 tmux 구성 파일을여십시오.

vim ~/.tmux.conf

구성 파일에서 다음 행을 추가하십시오.

set -g history-limit 5000

로그 아웃했다가 다시 로그인하여 새 tmux 창을 시작하면 한도는 5000입니다.


3
로그 아웃하고 로그인 할 필요는 없습니다. 간단히 tmux 서버를 완전히 종료하거나 ~/.tmux.conf각 세션에서 소스 를 확인해야합니다 (그리고 해당 세션에서 새 창을 시작하고 이전 창을 닫으십시오).
henrebotha

3

이것은 ntc2와 Chris Johnsen의 대답을 기반으로합니다. 사용자 지정 기록 제한이있는 새 세션을 만들 때마다 이것을 사용하고 있습니다. 향후 세션의 기록 제한을 영구적으로 변경하지 않고 제한된 스크롤 백으로 세션을 만들 수있는 방법을 원했습니다.

tmux set-option -g history-limit 100 \; new-session -s mysessionname \; set-option -g history-limit 2000

기존 세션이 있는지 여부에 관계없이 작동합니다. 새 세션에 대한 기록 제한을 설정하면 기본값 인 2000으로 다시 설정됩니다.

나는 이것을 조금 더 유용하게 만드는 실행 가능한 bash 스크립트를 만들었다. 스크립트에 전달 된 첫 번째 매개 변수는 새 세션에 대한 기록 제한을 설정하고 두 번째 매개 변수는 세션 이름을 설정합니다.

#!/bin/bash
tmux set-option -g history-limit "${1}" \; new-session -s "${2}" \; set-option -g history-limit 2000
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.