Что означает индикатор [0/0] при входе в режим копирования в tmux?

Что означает индикатор [0/0] при входе в режим копирования в tmux?

При входе в режим копирования в tmux индикатор в правом верхнем углу показывает "[0/0]". Я не могу найти никакой документации на странице руководства о том, что означают эти числа, и искать сложно, так как Google отбрасывает скобки и слеш.

Это генерируется функцией window_copy_write_line() в window-copy.c:

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, если вы прокрутили панель выше верхней части в режиме копирования, и некоторое количество строк находится «ниже» нижней части экрана.

Связанный контент