tmux에서 복사 모드로 들어갈 때 [0/0] 표시는 무엇을 의미합니까?

tmux에서 복사 모드로 들어갈 때 [0/0] 표시는 무엇을 의미합니까?

tmux에서 복사 모드로 들어가면 오른쪽 상단에 "[0/0]"이 표시됩니다. 매뉴얼 페이지에서 이 숫자가 무엇을 의미하는지에 대한 문서를 찾을 수 없으며 Google이 대괄호와 슬래시를 없애기 때문에 검색하기가 어렵습니다.

이는 window-copy.c의 window_copy_write_line()에 의해 생성됩니다.

if (py == 0) {
    size = xsnprintf(hdr, sizeof hdr,
        "[%u/%u]", data->oy, screen_hsize(data->backing));
    if (size > screen_size_x(s))
        size = screen_size_x(s);
    screen_write_cursormove(ctx, screen_size_x(s) - size, 0);
    screen_write_puts(ctx, &gc, "%s", hdr);

하지만 변수 이름은 코드에 익숙하지 않은 사람에게는 그다지 유익하지 않습니다.

이 숫자가 무엇을 의미하는지에 대한 힌트가 있나요?

답변1

화면 크기와 관련하여 버퍼 내 현재 위치를 나타내는 줄 표시기입니다. 0은 마지막 줄(맨 아래)이고 뒤로 갈수록 증가합니다. 표시된 줄 번호는 항상 화면 하단에 있는 줄입니다.

vi/vim과 같은 명령을 사용하면 :50화면 하단에 커서가 있는 50번째 줄이 표시되고, 스크롤 백 버퍼에 사용 가능한 줄이 100개 있으면 다음과 같이 표시됩니다.[50/100]

설명하기는 좀 어렵지만 사용 가능한 실제 버퍼가 120라인인데 화면 높이가 20라인이라면 표시될 것이고 [x/100]커서가 :100화면 하단에 라인 100을 놓고 여전히 20라인이 있을 것입니다. 그 위에 더 많은 줄이 있지만 120줄까지 스크롤하면 에 위치하지 않고 [120/120]에 그대로 유지 됩니다 [100/100].

답변2

대략적으로 말하면 두 번째 숫자는 창 기록에서 화면에 맞지 않는 줄 수입니다. 복사 모드에서 창 상단을 지나 위로 스크롤하고 일부 줄이 화면 하단 "아래"에 있는 경우 첫 번째 숫자는 0보다 큽니다.

관련 정보