我正在尝试在Emacs Lisp中运行一些程序示例。
我们如何在shell中运行它的解释器,然后逐行运行一些命令,输出立即可用?它是否类似于Python,我们首先键入python
来运行它的解释器,然后在其中键入任何命令?
我们如何在没有进入解释器的情况下运行这样的程序?它是否类似于Python,我们可以在shell中运行python myscript.py
?
感谢。
答案 0 :(得分:3)
1)在Emacs中使用REPL: M-x ielm
RET
我不知道是否有基于shell的REPL,但您可以制作一个没有太多困难。
考虑:
$ emacs -Q --daemon=myrepl
$ emacsclient --socket-name=myrepl --eval '(princ user-emacs-directory)'
"~/.emacs.d/"
$ emacsclient --socket-name=myrepl --eval '(kill-emacs)'
(但实际上,只需使用ielm
)。
2)如果你实际上有用elisp编写的shell脚本,那么看看这个Q& A:Run elisp program without Emacs?
但 不是常见的事情,并且有很多理由不编写elisp脚本。
如果您不熟悉Emacs而只是拥有一个.el
文件,您不知道该怎么做,这几乎肯定不是您想要做的。 Elisp库几乎总是要在Emacs中加载,而不是从shell执行。
(如果您完全不确定,我建议您使用示例更新您的问题,因为您可能会提出错误的问题。)