在R中,我喜欢使用反向搜索(ctrl + r)来重做不常见但复杂的命令而不使用脚本。通常,我会在其间执行许多其他命令,命令历史记录会丢弃旧命令。如何更改命令历史记录的默认长度?
答案 0 :(得分:7)
这是特定于平台和控制台的。来自?savehistory
的帮助:
不同的R有几种历史机制可供选择 控制台,以类似但不相同的方式工作......
...
历史机制由两个环境变量控制: R_HISTSIZE控制保存的行数(默认为512), 和R_HISTFILE设置用于加载/保存的文件名 如果在会话开始/结束时请求的历史记录(但不是 这些功能的默认值)。行数没有限制 在会话期间保留的历史记录,因此将R_HISTSIZE设置为大 除非实际生成大文件,否则value不会受到惩罚。
因此,理论上,您可以阅读并设置R_HISTSIZE
:
Sys.getenv("R_HISTSIZE")
Sys.setenv(R_HISTSIZE = new_number)
但是,在实践中,这可能会或可能不会产生任何影响。
另请参阅?Sys.setenv
和?EnvVar
答案 1 :(得分:2)
查看history()
的帮助页面。这显然是由环境变量R_HISTSIZE设置的,因此您可以为Sys.setenv(R_HISTSIZE = XXX)
的会话设置它。我仍然在挖掘所有R会话的更改默认行为的位置,但可能会与.Startup
或您的R个人资料相关。
答案 2 :(得分:2)
?历史
“不同的R有几种历史机制可供选择 控制台,以类似但不相同的方式工作。 “
此外,在同一设备中甚至可能存在两种历史机制。我从控制台保存了.history文件,Mac R GUI有自己独立的系统。您可以在“首选项”面板中增加GUI管理的历史记录条目的数量。
有一个增量历史包: http://finzi.psych.upenn.edu/R/library/track/html/track.history.html