我正在阅读 SICP,并且我正在使用通过自制软件安装在我的 OS x 10.8 笔记本电脑上的mit-scheme
。
一切都像宣传的那样工作,但是我对在 Repl 中为 Python 和 Node.js 等运行时轻松获得选项卡完成和命令行历史记录感到宠坏。
我不是在寻找任何繁重的东西,但是这些功能在现代REPL中很容易获得(它只是Python中的一个简单的启动文件,可以在Node.js中的几行中实现)。
有没有一种简单的方法可以在 mit 方案 REPL 中获取选项卡完成和命令历史记录,而无需重型应用程序或必须切换到 emacs(即在 xterm 终端中)?
安装readline包装器:
brew install rlwrap
安装后,rlwrap scheme
将为您提供持久历史记录、参数匹配和选项卡完成。我通常使用 rlwrap 和以下参数:
-r 将 in- 上看到的所有单词和输出放在完成列表中。
-c 完整文件名
-f 指定用于制表符补全的单词列表。我使用的是 MIT 方案参考手册中的绑定精简列表。与其在此处重新发布列表,不如在此要点中找到它。我把这个文件存储在"$HOME"/scheme_completion.txt
rlwrap -r -c -f "$HOME"/scheme_completion.txt scheme
1 ]=> (flo:a <tab tab>
flo:abs flo:acos flo:asin flo:atan flo:atan2
1 ]=> (flo:abs -42.0)
;Value: 42.
我实际上建议您使用 Emacs,并在其中使用 Geiser 来访问 REPL 并帮助编辑方案文件。它还使处理各种方案 REPL,如切斯方案、球拍、麻省理工学院方案、圭乐、鸡、甘比特和赤壁方案变得毫不费力。Emacs 仍然很好地调整了与 Scheme 和 LISP 一起使用。强烈推荐。