2

在 bash 或 Ruby 的 IRB 中,我可以运行命令或计算表达式,然后使用键盘上的向上箭头来编辑和重新运行相同的代码。(这可能是我配置的,但我不这么认为。)

这在 Clojure REPL 中对我不起作用;^[[A当我按向上箭头时,我只看到输入。

有没有办法“重新输入”最后一行?

4

1 回答 1

14

正如评论中提到的,rlwrap在本地 Clojure REPL 没有“做”的地方,包括箭头导航、历史记录等等。

然而,大多数(如果不是全部)Clojure 与lein具有内置 REPL 的 . 每次需要 Clojure REPL 时,您都可以:

lein repl

您不一定需要有一个项目来启动它,它可以从任何地方启动(假设您lein的.PATHrlwrap

仅举几例:

  • 如果您在项目的根目录下运行它,它将加载项目的类路径,因此您可以与项目的所有库和代码进行交互。

  • 它还将启动一个nREPL您可以从任何地方(本地/远程)连接的设备,包括您最喜欢的“支持 nREPL”的 IDE/编辑器。这将允许(例如)vimemacs使用您开始使用的 REPLlein repl直接从编辑器评估、编译、导航(源)。

  • 在它开始之前,它会读取并“服从” ~/.lein/profiles.clj,您可以在其中使用几乎任何您想要的东西来配置您的会话:gpg 密钥、repl-options、依赖项、插件等。这些将在lein repl

于 2013-09-03T14:56:35.583 回答