我正在阅读SICP,并且正在通过homebrew使用安装在我的osx10.8笔记本电脑上的mit-scheme。
一切都如广告中所说的那样工作,然而我却被在Python和Node.js等运行时的REPL中轻松地获得制表符完成和命令行历史记录所宠坏。
我并不是在寻找任何繁重的功能,但这些特性在现代的REPL中很容易获得(它只是Python语言中的a simple startup file,可以用a few lines in Node.js实现)。
有没有一种简单的方法可以在mit-scheme REPL中获得制表符完成和命令历史记录,而无需使用繁重的应用程序或切换到emacs (即在xterm终端中)?
发布于 2012-08-12 02:02:49
安装readline wrapper
brew install rlwrap
安装后,rlwrap scheme将为您提供持久的历史记录、paren匹配和制表符补全。我通常将rlwrap与以下参数一起使用:
-r将所有显示在输入和输出上的单词放在完成列表中。
-c完整文件名
-f指定用于制表符完成的单词列表。我使用的是MIT Scheme Reference Manual中的一个简短的绑定列表。您可以在this gist中找到该列表,而不是在此处重新发布该列表。我将这个文件存储在"$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.发布于 2020-12-19 18:39:16
实际上,我建议您使用Emacs,并在其中使用Geiser来访问REPL和帮助编辑方案文件。它还可以轻松地处理各种方案REPLs,如Chez Scheme、Racket、MIT Scheme、Guile、Chicken、Gambit和Chibi Scheme。Emacs仍然可以很好地与Scheme和LISP一起使用。强烈推荐。
https://stackoverflow.com/questions/11908746
复制相似问题