我经常发现自己在bash上执行这样的命令:
历史| grep'find'
例如,为了查找我可能已经运行的奇特的find / xargs命令。
我想知道---“lein repl”在哪里存储其历史数据?很高兴知道,因为那时我可以编写一个leingrep.sh脚本,它只是通过lein历史会话进行了深入研究。
很明显,这是在磁盘上的某个地方,因为历史记录从一个repl保留到下一个repl。
答案 0 :(得分:8)
Lein正在使用readline(如果已安装)或jline(如果你很不幸,我建议安装readline)。我不打算尝试在磁盘上查找历史文件 - 只需按Ctrl-r,输入搜索文本,然后按住Ctrl-r直到找到您要查找的内容。这是一个通用的readline功能,可以在任何readline应用程序(包括bash)中使用。
答案 1 :(得分:3)
使用readline后,您可以通过~/.inputrc
文件考虑几个控件。
我没有找到默认的“历史记录大小”documented,但我猜它只有~100。我经常会丢失一些我希望自己有的旧条目。此外,“vi-mode”对于vi用户来说也是一件好事。 .inputrc
中的这些(有奖金)一起变成:
set history-size 10000
set editing-mode vi
# Only require 1 tab for completion.
set show-all-if-ambiguous on
请注意,此配置会影响很多repl工具,例如gdb,irb / pry,lein,psql,ipython,R,......
答案 2 :(得分:0)
查看我的主文件夹。好像lein repl选择了jline。 存储历史记录的文件如下: 〜/ .jline-clojure.main.history 〜/ .jline-reply.history
希望这有帮助。
答案 3 :(得分:0)
我在Mac上安装lein
到Homebrew:
brew install leiningen
并且历史文件存储在我的主目录中:
~/.lein/repl-history
版本是:
% lein --version
Leiningen 2.6.1 on Java 1.8.0_77 Java HotSpot(TM) 64-Bit Server VM
(我没有~/.inputrc
也没有~/.jline*
)