如何在 tmux 复制模式下获取当前回滚位置

如何在 tmux 复制模式下获取当前回滚位置

当我在复制模式下向上滚动时,是否有任何现有的方法可以获取回滚缓冲区中的当前位置?

例如:我进入了复制模式,向上滚动了相当长一段距离。现在复制模式指示显示[36828/42969]。我想运行类似

:display-message #{scrollback-position}#

那可能吗?

答案1

我认为tmux源代码需要修改才能将两个数字中的一个作为格式变量名访问。较大的数字(本例中为 42969)似乎可以作为 访问,并且它在viahistory_size中可见为元素的元素,如在中第一次调用 时所见。format.ctmux.hhsizegridstruct screenformat_addformat_defaults_pane

较小的数字(本例中为 36828)似乎是oy的元素,它在的元素中作为struct window_copy_mode_data进行访问。简而言之,较小的数字是 结构体的一个元素,在 中不可见。元素用于构造一个字符串,如问题中提到的字符串。modedatastruct window_panevoid *format.coywindow_copy_write_line

答案2

从 tmux 2.2 开始,他们添加了一个scroll_position变量。Tmux 手册将其描述为

scroll_position - Scroll position in copy mode

相关内容