我在使用SML/NJ交互式系统时遇到了一些问题,具体来说,当我尝试使用箭头键(左或右)来更正我输入的表达式或者使用上箭头键重复上次输入的表达式时,我的终端会打印出一些代码。(例如,使用上箭头键打印^[[A
,使用左箭头键打印^[[D
等等)。尽管我仍然可以使用该系统,但这使得操作非常繁琐。
我已经在Control.Compiler中查找了一些信息,但是否还有其他需要注意的地方呢?值得注意的是,我正在使用Mac终端。
谢谢 ^_^
我在使用SML/NJ交互式系统时遇到了一些问题,具体来说,当我尝试使用箭头键(左或右)来更正我输入的表达式或者使用上箭头键重复上次输入的表达式时,我的终端会打印出一些代码。(例如,使用上箭头键打印^[[A
,使用左箭头键打印^[[D
等等)。尽管我仍然可以使用该系统,但这使得操作非常繁琐。
我已经在Control.Compiler中查找了一些信息,但是否还有其他需要注意的地方呢?值得注意的是,我正在使用Mac终端。
谢谢 ^_^
另一种选择是rlwrap
。
rlwrap sml
sudo port install rlwrap
来安装rlwrap
。然后在~/.bash_profile
文件中添加一行alias sml='rlwrap /usr/local/smlnj/bin/sml'
。 - justspamjustinsml=path
,可以通过运行which sml
来找到sml
命令的路径。 - jpenna试试这个。您可以使用 socat 将 readline 支持添加到许多内容中:
socat READLINE EXEC:sml
我刚刚意识到你使用的是OS X系统。看起来socat也适用于OS X,虽然我没有测试过(这在Linux上确实可行)。