用于 Emacs Lisp 的 REPL
Posted
技术标签:
【中文标题】用于 Emacs Lisp 的 REPL【英文标题】:REPL for Emacs Lisp 【发布时间】:2011-10-04 23:43:05 【问题描述】:Emacs Lisp 有哪些 REPL?
Emacs 中只有一个吗?
是否有一些在 Emacs 之外的终端内运行?
【问题讨论】:
【参考方案1】:基于这个问题:REPL on console emacs,可以使用M-x ielm
(劣质emacs lisp模式)。
【讨论】:
谢谢!必须在emacs中运行,还是可以在emacs之外的bash中运行?我在 bash 中尝试了ieml
或 ielm
,但它不起作用。
我不认为它可以在 Emacs 之外运行,但我可能错了。
术语“REPL”代表“read-eval-print-loop”,它最初来自 Lisp,它实际上有名为 read
、eval
和 print
的函数。 Emacs Lisp 也不例外,所以你可以通过emacs --batch --eval '(while t (print (eval (read))))'
得到你想要的。
我容易忘记它的名字,所以我给它起了一个“别名”:(defun repl() (interactive) (ielm))
。然后您可以使用M-x repl
启动解释器。
@Jabba 你也可以说:(defalias 'repl 'ielm)
【参考方案2】:
有一个(正在进行的)Emacs REPL 可以从命令行使用。它目前支持基本的命令行编辑和历史记录。
代码是hosted on Github。
【讨论】:
【参考方案3】:Gitlab 上有this project。 REPL 可以在终端或 Emacs 的 minibuffer 上运行。即使您在“无窗口系统”模式下运行它(使用-nw
)。
【讨论】:
以上是关于用于 Emacs Lisp 的 REPL的主要内容,如果未能解决你的问题,请参考以下文章