我经常在bash中执行像这样的命令:
history | grep 'find'
例如,查找我可能运行过的复杂的find / xargs命令。
我想知道——"lein repl"存储其历史数据的位置?这很重要,因为那么我就可以编写一个名为leingrep.sh的脚本,该脚本只需通过lein历史会话进行grep搜索。
显然,这些历史记录保存在磁盘上,因为历史记录会从一个repl保留到下一个repl。
我经常在bash中执行像这样的命令:
history | grep 'find'
例如,查找我可能运行过的复杂的find / xargs命令。
我想知道——"lein repl"存储其历史数据的位置?这很重要,因为那么我就可以编写一个名为leingrep.sh的脚本,该脚本只需通过lein历史会话进行grep搜索。
显然,这些历史记录保存在磁盘上,因为历史记录会从一个repl保留到下一个repl。
Lein使用的是readline(如果您已经安装了它)或jline(如果您没有安装readline,我建议您安装)。我不会费心去查找磁盘上的历史记录文件 - 只需按下Ctrl-r,键入搜索文本,然后不断按下Ctrl-r,直到找到您要查找的内容。这是一个通用的readline功能,在任何readline应用程序中都可以使用(包括bash)。
~/.inputrc
文件进行配置。.inputrc
中变成:set history-size 10000
set editing-mode vi
# Only require 1 tab for completion.
set show-all-if-ambiguous on
查看我的主目录,似乎lein repl已经选择了jline。 历史记录存储的文件如下: ~/.jline-clojure.main.history ~/.jline-reply.history
希望这有所帮助。
我在我的Mac上通过Homebrew安装了lein
:
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*
)