我正在阅读SICP http://mitpress.mit.edu/sicp/full-text/book/book.html我正在使用mit-scheme http://www.gnu.org/software/mit-scheme/通过以下方式安装在我的 os x 10.8 笔记本电脑上homebrew https://github.com/mxcl/homebrew/blob/master/Library/Formula/mit-scheme.rb.
一切都如宣传的那样工作,但是我对在 Python 和 Node.js 等运行时的 REPL 中轻松获得选项卡补全和命令行历史记录感到非常满意。
我并不是在寻找任何重型功能,但这些功能在现代 REPL 中很容易实现(这只是一个简单的启动文件 http://docs.python.org/library/readline.html#example在 Python 中,可以在Node.js 中的几行 https://gist.github.com/3317494).
有没有一种简单的方法可以在 mit-scheme REPL 中获取选项卡完成和命令历史记录,而无需重型应用程序或必须切换到 emacs(即在 xterm 终端中)?
安装读取行包装器 http://utopia.knoware.nl/~hlub/rlwrap/README.txt:
brew install rlwrap
安装后,rlwrap scheme
将为您提供持久的历史记录、括号匹配和制表符完成。我通常将 rlwrap 与以下参数一起使用:
-r 将输入和输出中看到的所有单词放入完成列表中。
-c 完整文件名
-f 指定用于制表符补全的单词列表。我正在使用来自麻省理工学院计划参考手册 http://www.gnu.org/software/mit-scheme/documentation/mit-scheme-ref/Binding-Index.html#Binding-Index。
您可以在以下位置找到该列表,而不是在此处重新发布该列表这个要点 http://gist.github.com/3325982。
我将此文件存储在“$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.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)