在 tmux 中是否可以比 PgUp/PgDown 滚动得更快?

在 tmux 中是否可以比 PgUp/PgDown 滚动得更快?

我有大约 400k 行输出要在 tmux 中滚动。如何加快复制模式下的滚动速度?或者,如何将所有(已生成的)输出内容传输到文件中?

答案1

如果您想要跳转到缓冲区的开头或结尾,则可以使用适当的编辑器命令来执行此操作。如果您将 tmux 配置为类似 vi,“g”将跳转到缓冲区的顶部,而“G”将跳转到底部。我的设置是类似 vi 的,所以我不知道在这种情况下的 emacs 击键。

答案2

我不完全确定我理解问题的第一部分:

如果您想一次向上滚动一页以上,可以向向上翻页添加重复计数:在复制模式下执行M-10 PageUp(使用 emacs 键绑定)或10C-b(使用 vi 键绑定)一次向上滚动 10 页。但是,我宁愿使用搜索功能C-sC-remacs 键以及/vi?键。

要捕获窗格的整个历史记录,我会这样做(需要 tmux 2.0 或更高版本):

$ tmux capture-pane -S - -E - # save the history in a paste buffer

如果您有旧版本的 tmux,请提供类似的-S -400000参数作为tmux capture-pane.

然后,您可以使用 将历史记录粘贴到任何您想要的位置prefix-]。要将历史记录保存到文件中,请执行以下操作:

$ tmux save-buffer /tmp/myhistory # save the history in /tmp/myhistory

我有线

bind-key C command-prompt -p 'save history to:' \
         -I '/tmp/tmux-%F_%H_%M.log \
         capture-pane -S -; save-buffer %1'

在我的$HOME/.tmux.conf(我改编自这个答案)。这提示我想用合理的默认值保存整个历史记录。

如果您想节省一些内存,请使用 删除它$ tmux delete-buffer

相关内容