其实完全有可能。是的,您想通过 Emacs 和 Slime 使用 Common Lisp(我更喜欢 SLY)。但这是初学者遇到的另一个问题。
你想只玩 REPL 吗?以下说明允许使用 rlwrap 在 SBCL 中自动完成。
https://www.cliki.net/CMUCL%20Hints
1)安装rlwrap
2)创建shell别名,例如把文本像
alias rs="rlwrap sbcl"
进入您的 ~/.bashrc (或 ~/.profile 或其他)。(或者您可以通过“rlwrap sbcl”继续调用 sbcl rlwrapped)
3) Edi Weitz 创建了一个完成列表文件,现在从他的网站上消失了,所以我链接到 Internet 档案。将此单词表保存到文件“sbcl”中
https://web.archive.org/web/20031207221537/http://weitz.de/files/cmucl_completions
4)您可以尝试按照Cliki上的说明放置文件,这只适用于您登录的用户。我希望它适用于所有用户,所以我将“sbcl”文件放入我的 rlwrap 完成目录,该目录位于 /usr/share/rlwrap/completions/
所以现在我有一个文件 /usr/share/rlwrap/completions/sbcl 包含这些单词。
5)创建/调整~/.inputrc文件添加行
TAB: complete
5) 完成,现在在新终端中(或重新加载 .bashrc 后)我可以通过 rlwrap 启动 SBCL,别名为“rs”开始输入(def
(或其他)并点击 TAB,并获得自动完成建议。
初学者奖励 - 如果您想在终端中从 REPL 编辑 lisp,例如使用 parinfer 的 vim,请尝试使用 magic-ed,这将允许您从 repl 编辑文件。将 SBCL 配置为使用 ED 是深奥的。这为您解决了这个问题。
https://github.com/sanel/magic-ed
有了tab自动补全和终端编辑lisp的便捷方式,可以在终端开始学习Common Lisp。