标准ML重复最后一个命令,左箭头?

时间:2012-04-07 18:49:21

标签: functional-programming interpreter sml ml ledit

我正在使用其解释器学习标准ML。有时我会输入拼写错误,只想在Linux shell中重复上一个命令。但是,向上箭头最终会在屏幕上打印特殊字符。有时我想向左回去纠正某些事情,左箭头也会导致打印特殊字符。

有人知道做这些的正确方法是什么?

3 个答案:

答案 0 :(得分:7)

我使用的是莫斯科ML,但我认为答案将适用于您使用的任何版本:

您可以使用rlwrap来实现您想要的效果。

我在.zshrc中设置了以下别名,自动处理它:

alias mosml="rlwrap mosml"

(将mosml替换为您的SML解释器的名称。)

答案 1 :(得分:3)

考虑使用程序ledit。它允许您使用箭头键访问以前的命令。

示例:

ledit mosml

答案 2 :(得分:0)

如果您要进行任何严重的SML黑客攻击,我强烈建议您使用允许您与SML顶级环境进行交互的开发环境。

我将Emacs与SML mode一起使用。这里的美妙之处在于,您可以在顶部窗口中编写函数并将其保存到文件中。然后,您可以将它们发送到包含Inferior-SML进程以进行编译的下部窗口。此外,Inferior-SML进程默认具有命令历史记录。