在sbcl中启用自动完成功能

Kar*_*våg 5 lisp autocomplete sbcl

我最近开始学习lisp,主要使用clisp和vim.我也想尝试sbcl,因为这通常被推荐为最好的免费lisp编译器之一.但有一件事让sbcl对我来说更难用:我无法在REPL中获得自动完成功能,我在clisp中也有.也就是说,当我启动sbcl并键入以下内容时(作为示例),

* (requi<tab>
Run Code Online (Sandbox Code Playgroud)

<tab>文字制表符字符在哪里,我没有得到完成列表,而是一个冗长的制表符.在clisp中,<tab>将完成前一行* (require.

由于我对lisp相当新,clisp中的自动完成功能非常方便,所以如果有人能解释如何在sbcl中获取它,那将非常方便.

小智 6

在SBCL中获取自动完成repl的一种方法是使用linedit,来自http://common-lisp.net/project/linedit/.第二种是使用rlwrap,一个readline包装器,以及一个合适的完成文件.(我认为可以说这些都不像emacs那样常用,当然这也提供了一个完整的REPL以及许多其他有用的功能.)


Vat*_*ine 5

我不知道在 SBCL 中获得自动完成 REPL 的方法,但我发现从 SLIME 中与我的 lisp 环境交互非常方便,此时,您可以使用 Cc Ci 进行自动完成。