419

如何增加回滚缓冲区大小tmux

如果我进入复制模式,可用的回滚行数(在右上角可见)始终低于 2000。我试图找到所有 tmux 命令的列表,但我找不到任何关于回滚大小的信息。对于所有我看到设置该选项的screen命令不适用于tmux.

使用tmux1.8、Ubuntu 12.04 LTSkonsolegnome-terminal.

4

4 回答 4

527

历史限制是在创建窗格时固定的窗格属性,不能为现有窗格更改。该值取自history-limit会话选项(默认值为 2000)。

要创建具有不同值的窗格,您需要history-limit在创建窗格之前设置适当的选项。

要建立不同的默认值,您可以在.tmux.conf文件中添加如下一行:

set-option -g history-limit 3000

注意:请小心设置一个非常大的默认值,如果您创建许多窗格,它很容易消耗大量 RAM。

对于现有会话中的新窗格(或新窗口中的初始窗格),您可以设置该会话的history-limit. 您可能会使用这样的命令(来自 shell):

tmux set-option history-limit 5000 \; new-window

对于(初始窗口的初始窗格)新会话,您需要history-limit在创建会话之前设置“全局”:

tmux set-option -g history-limit 5000 \; new-session

注意:如果您不重新设置该history-limit值,那么新值也将用于将来创建的其他窗格/窗口/会话;目前没有直接的方法来创建具有自己特定限制的单个新窗格/窗口/会话而不(至少暂时)更改history-limit(尽管show-option(特别是在 1.7 和更高版本中)可以帮助检索当前值以便您稍后恢复它)。

于 2013-09-13T03:35:28.550 回答
47

使用以下命令打开 tmux 配置文件:

vim ~/.tmux.conf

在配置文件中添加以下行:

set -g history-limit 5000

注销并再次登录,启动一个新的 tmux 窗口,现在你的限制是 5000。

于 2018-05-29T23:33:34.533 回答
7

这建立在 ntc2 和 Chris Johnsen 的回答之上。每当我想创建一个具有自定义历史限制的新会话时,我都会使用它。我想要一种方法来创建具有有限回滚的会话,而不会永久更改未来会话的历史限制。

tmux set-option -g history-limit 100 \; new-session -s mysessionname \; set-option -g history-limit 2000

无论是否存在现有会话,这都有效。在为新会话设置历史限制后,它会将其重置为默认值,对我来说是 2000。

我创建了一个可执行的 bash 脚本,使它更有用一些。传递给脚本的第一个参数设置新会话的历史限制,第二个参数设置其会话名称:

#!/bin/bash
tmux set-option -g history-limit "${1}" \; new-session -s "${2}" \; set-option -g history-limit 2000
于 2018-06-15T22:01:22.090 回答
2

这将在一个衬垫中修复它:

echo "set -g history-limit 5000" >> ~/.tmux.conf
于 2021-09-30T08:56:01.893 回答