2012-08-10 20 views
18

我在阅读SICP,我正在使用mit-scheme通过homebrew安装在我的操作系统x 10.8笔记本电脑上。mit-scheme REPL带有命令行历史记录和制表符完成

一切都像宣传的那样,但是我被轻而易举地,我得到标签完成和命令行历史REPL的像Python和Node.js的运行时间宠坏

我不是在寻找任何重型任务,但这些功能在现代REPL中很容易实现(Python中只有a simple startup file,可以在a few lines in Node.js中实现)。

有一种简单的方式来获得在MIT-方案REPL tab完成和命令历史,而不重型应用或不必切换到emacs的(即在xterm终端)?

回答

40

安装readline wrapper

brew install rlwrap

一旦安装,rlwrap scheme会给你持久的历史,括号匹配和标签完成。我通常使用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. 
+0

喜欢这个。这对其他程序也很有用。 – 2014-11-22 20:07:07

相关问题