增加反向 i 搜索历史长度

增加反向 i 搜索历史长度

有没有办法增加默认的历史记录reverse-i-search( CTRL+ ) 数量?在 Ubuntu 16.04 中,它似乎没有很长的“记忆”,有时甚至昨天的命令也已经从其历史记录中消失了,即,即使使用重复的+R循环遍历所有条目也不会出现。CTRLR

我正在使用终结者作为控制台。

答案1

这真的很容易,只需改变你的HISTSIZEHISTFILESIZE变量.bashrc

HISTSIZE=-1
HISTFILESIZE=-1

在 bash 4.3 及更高版本中,您还可以使用 HISTSIZE=-1 HISTFILESIZE=-1 将其设置为无限制。

考虑一下HISTSIZE当您的 bash 会话正在进行时,历史列表中存储在内存中的行数或命令数。

HISTFILESIZE是 (a) 在会话启动时允许在历史文件中出现的行数或命令数,以及 (b) 在 bash 会话结束时存储在历史文件中以供将来的会话使用的行数或命令数。

看看这个关联

问候,

答案2

没有时间限制,而是一个线或者尺寸 命令行历史记录的限制。

您可以在您的~/.bashrc

export HISTSIZE=500000
export HISTFILESIZE=500000

意味着您的历史记录中有 500,000 行“内存”,包括当前 ( HISTSIZE) 和写入历史文件 ( HISTFILESIZE) 的内容。

但是,请记住,该文件仅当您出口一个终端。

你可以使用reverse-i-search你的命令在相同的终端,在将历史记录写入历史文件之前,但是在退出原始终端之前,无法在任何新终端中找到您的命令!

答案3

历史记录的大小由两个变量指定HISTSIZE(单个终端会话的历史记录,保存在 RAM 中) 和HISTFILESIZE(历史记录文件的大小,通常为~/.bash_history)。此大小以文件中的行数设置~/.bashrc,例如:

HISTSIZE=1000
HISTFILESIZE=10000

这将为每个终端会话保存 1000 行(= 命令),并在历史文件中保存 10000 行。

reverse-i-search 搜索当前会话的历史记录以及历史文件,但不能包含仍打开的其他会话的命令。

进一步阅读:

相关内容