Есть ли какой-либо способ получить текущую позицию в буфере прокрутки, когда я прокрутил назад в режиме копирования?
Например: я вошел в режим копирования, прокрутил назад довольно далеко вверх. и теперь показанный режим копирования показывает [36828/42969]
. Я хочу запустить что-то вроде
:display-message #{scrollback-position}#
Это возможно?
copy-mode -e
уже обеспечивает. unix.stackexchange.com/questions/516142/…Ответы:
Я считаю, что
tmux
источник потребует модификации, чтобы получить доступ к одному из двух чисел в качестве имени переменной формата. Большее число (42969 в этом примере), по-видимому, доступно какhistory_size
, и оно видно вformat.c
viatmux.h
какhsize
элементgrid
элементаstruct screen
, как видно из первого вызоваformat_add
informat_defaults_pane
.Меньшее число (36828 в этом примере) представляется
oy
элементомstruct window_copy_mode_data
, к которому осуществляется доступ вmodedata
элементеstruct window_pane
как avoid *
. Короче говоря, меньшее число - это элемент структуры, который не виден внутриformat.c
.oy
Элемент используется вwindow_copy_write_line
построить строку как один , упомянутых в вопросе.источник
Начиная с версии 2.2, они добавили
scroll_position
переменную. Руководство Tmux описывает это какscroll_position - Scroll position in copy mode
,источник