【问题标题】:Clojure : 'lein repl' history grepping?Clojure:'lein repl' 历史记录?
【发布时间】:2012-04-15 11:22:17
【问题描述】:

我经常发现自己在 bash 中执行这样的命令:

历史 | grep '查找'

例如,要查找我可能运行过的精美 find / xargs 命令。

我想知道 --- “lein repl” 将其历史数据存储在哪里?很高兴知道,因为那时我可以编写一个 leingrep.sh 脚本,它只是简单地通过 lein 历史会话进行 grep。

很明显,这是在磁盘上的某个地方,因为历史从一个副本保存到另一个副本。

【问题讨论】:

    标签: clojure grep history read-eval-print-loop leiningen


    【解决方案1】:

    Lein 正在使用 readline(如果你安装了它)或 jline(如果你很不幸,我建议安装 readline)。我不会费心尝试在磁盘上查找历史文件 - 只需按 Ctrl-r,输入搜索文本,然后继续按 Ctrl-r,直到找到所需内容。这是一个通用的 readline 功能,适用于任何 readline 应用程序(包括 bash)。

    【讨论】:

      【解决方案2】:

      一旦您开始使用 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、...

      【讨论】:

        【解决方案3】:

        查看我的主文件夹。似乎 lein repl 选择了 jline。 存储历史的文件如下: ~/.jline-clojure.main.history ~/.jline-reply.history

        希望这会有所帮助。

        【讨论】:

          【解决方案4】:

          我在我的 Mac 上安装了 leinHomebrew

          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*

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2014-11-28
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2016-01-13
            相关资源
            最近更新 更多