2024 Clojure状态调查!分享你的想法。

欢迎!请在关于页面了解更多关于如何使用这个功能的信息。

+1投票<-meta itemprop="upvoteCount" content="1">
REPL
重新标记

在将表达式提交到REPL后,该行的提示符开始消失。

before

after

在上面示例中,按Enter键后,应继续显示Clojure版本号下的第一行。

user=> 123

但它仅仅显示

123

也就是说,提示符消失了。

1 个答案

+4投票<-meta itemprop="upvoteCount" content="4">

编辑
 
最佳答案

这是因为clj命令在内部使用rlwrap命令提供传统的REPL键盘快捷键。

rlwrap进而使用readline库,而该库的8.1最新版本暴露了rlwrap的一个错误,导致提示符消失

https://github.com/hanslub42/rlwrap/issues/108

rlwrap命令的修复版本可用之前,可以在你的家目录中的.inputrc文件(即~/.inputrc - 如果尚不存在则创建)中添加以下内容来解决这个问题:

$if clojure
    set enable-bracketed-paste off
$endif

如果退出并重新启动clj命令仍然无法启用新配置,请尝试重新启动您的终端。


更新: 已发布 rlwrap 版本 0.44,使得上述方法不再需要。有关 rlwrap 在各个软件仓库中可用的版本,请参见此处

作者:
谢谢!这令我非常困扰!
...