【问题标题】:How to 'fix' the SML/NJ interactive system to use Arrow Keys如何“修复” SML/NJ 交互系统以使用箭头键
【发布时间】:2010-12-27 01:54:59
【问题描述】:

我在使用 SML/NJ 交互系统时遇到了一些问题,即当我尝试使用箭头键(左或右来更正我输入的表达式时,直到重复最后一个表达式),我的终端打印代码。 (例如^[[A 用于向上^[[D 用于左侧等)。虽然我仍然可以使用该系统,但它变得非常乏味。

我在 Control.Compiler 中环顾四周,有什么我遗漏的吗?不管它值多少钱,我都在使用 Mac 终端。

谢谢^_^

【问题讨论】:

  • 多么棒的语言,但是其解释器的实现对用户来说根本不友好。我无法为 smlj 找到等效的 ipython,这很不幸

标签: sml smlnj


【解决方案1】:

另一个选项是rlwrap

rlwrap sml

【讨论】:

  • 如果你有macports,你可以通过运行sudo port install rlwrap来安装rlwrap。然后将alias sml='rlwrap /usr/local/smlnj/bin/sml' 添加到~/.bash_profile 文件的新行中。
  • 在找到这个答案之前,我不知道 rlwrap(或如上所述滥用 socat)!谢谢!
  • 也适用于自制软件:brew install rlwrap。您甚至不需要更改 bash_profile。
  • 如果您使用@justspamjustin 建议的alias sml=path,您可以通过运行which sml 找到sml 命令的path
【解决方案2】:

试试这个。您可以使用 socat 为许多东西添加 readline 支持:

socat READLINE EXEC:sml

我刚刚意识到您使用的是 OS X。socat 似乎确实适用于 OS X,尽管我尚未对其进行测试(这在 Linux 上确实有效)。

【讨论】:

  • 在我的 Linux 上,我使用“rlwrap”来做同样的事情:utopia.knoware.nl/~hlub/rlwrap
  • 谢谢 ^_^ 哦,感觉好多了(尽管需要做一些工作才能让 socat 正常工作。下一个盒子是 Linux)。
猜你喜欢
  • 2010-10-18
  • 1970-01-01
  • 1970-01-01
  • 2013-11-19
  • 1970-01-01
  • 1970-01-01
  • 2010-09-16
  • 1970-01-01
  • 2017-12-12
相关资源
最近更新 更多