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

daw*_*wid 5 tmux scrolling

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

小智 1

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

如果您想一次向上滚动一页以上,可以向向上翻页添加重复计数:在复制模式下执行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
Run Code Online (Sandbox Code Playgroud)

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

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

$ tmux save-buffer /tmp/myhistory # save the history in /tmp/myhistory
Run Code Online (Sandbox Code Playgroud)

我有线

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

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

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