在 bash 或 Ruby 的 IRB 中,我可以运行命令或计算表达式,然后使用键盘上的向上箭头来编辑和重新运行相同的代码。(这可能是我配置的,但我不这么认为。)
这在 Clojure REPL 中对我不起作用;^[[A
当我按向上箭头时,我只看到输入。
有没有办法“重新输入”最后一行?
在 bash 或 Ruby 的 IRB 中,我可以运行命令或计算表达式,然后使用键盘上的向上箭头来编辑和重新运行相同的代码。(这可能是我配置的,但我不这么认为。)
这在 Clojure REPL 中对我不起作用;^[[A
当我按向上箭头时,我只看到输入。
有没有办法“重新输入”最后一行?
正如评论中提到的,rlwrap
在本地 Clojure REPL 没有“做”的地方,包括箭头导航、历史记录等等。
然而,大多数(如果不是全部)Clojure 与lein
具有内置 REPL 的 . 每次需要 Clojure REPL 时,您都可以:
lein repl
您不一定需要有一个项目来启动它,它可以从任何地方启动(假设您在您lein
的.PATH
rlwrap
仅举几例:
如果您在项目的根目录下运行它,它将加载项目的类路径,因此您可以与项目的所有库和代码进行交互。
它还将启动一个nREPL
您可以从任何地方(本地/远程)连接的设备,包括您最喜欢的“支持 nREPL”的 IDE/编辑器。这将允许(例如)vim
或emacs
使用您开始使用的 REPLlein repl
直接从编辑器评估、编译、导航(源)。
在它开始之前,它会读取并“服从” ~/.lein/profiles.clj
,您可以在其中使用几乎任何您想要的东西来配置您的会话:gpg 密钥、repl-options、依赖项、插件等。这些将在lein repl