如何在OCaml解释器Shell中重复上一个命令

25

我一直在尝试使用OCaml。有时候,使用解释器 shell 来测试一些代码会更快,但是当我按“上”键时它并不会调出最后一条命令。

如果我输入了错误的内容或想要查看一点变化会产生什么结果,这就很麻烦。

有人知道是否还有另一个键可以使用吗?

谢谢。

3个回答

35

使用 rlwrap

rlwrap ocaml

ocaml 本身不支持 readline。

你可以通过配置 ~/.inputrc 来使用 readline。例如,你可以在其中添加以下行:

$if ocaml
"\C-o": "()\C-b"
"\C-n": ";;\n"
$endif

现在你可以在 ocaml 中使用 ctrl-octrl-n 热键。试试看吧。


3
还有一个类似于rlwrap的工具叫做leditledit ocaml。如果您使用的是Debian或Ubuntu,请使用sudo apt-get install ledit进行安装。 - jrouquie
很酷,ledit已经安装在我的Ubuntu机器上了。rlwrap也可以通过sudo apt-get install rlwrap轻松安装...这两者有什么优劣之分吗? - neildaemond
3
我发现rlwrap更好用。rlwrap提供历史记录、文件名补全、提示符着色、语法补全、括号匹配、使用外部编辑器和通过.inputrc轻松配置等功能。 - Igor Chubin
1
谢谢你进一步完善你的回答,使用 rlwrap ~。我刚把 alias ocaml='rlwrap ocaml' 添加到我的 .bashrc 中 :) - neildaemond

5
您可以使用改进的顶级utop。此外,它还包含了非常好的自动完成功能。

0

我使用ctrl +向上箭头来查看之前的输入


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接