OCaml解释器是否支持使用箭头键?

25

每次我在解释器中使用这些键时,都会出现像这样的符号:

[[D^[[C

我在ZSH中使用Linux Mint 12,但在bash中的Ubuntu中也得到了相同的结果。 在ssh中也是这样。

2个回答

26

原生的OCaml交互式环境没有自带行编辑功能。我使用rlwrap

$ cat bin/ocaml
#!/bin/sh
exec rlwrap /usr/local/bin/ocaml "$@"

在我看来,如果没有像这样的东西,使用toplevel会非常痛苦!

其他可能性是在emacs下运行toplevel(我认为这是一种流行的选择),或者使用utop。 我没有使用过utop,但它听起来很酷。


2
utop非常酷。除了支持基本的行编辑(箭头键移动光标、历史记录)之外,utop还支持相当健壮的上下文敏感自动完成。例如,L<tab>.i<tab>会自动完成为List.iter(假设只有stdlib在作用域内)。 - hcarty
哇,确实utop非常酷。需要安装一些包,但是哇!非常感谢! - Pacane

20
另一个选择是使用:ledit ocaml。虽然我个人更喜欢使用utop。

2
我将以下内容添加到了我的 .bashrc 文件中:alias ocaml="ledit ocaml" - Lionel Parreaux

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