我正在尝试在 Emacs Lisp 中运行一些程序示例。
我们如何在 shell 中运行它的解释器,然后逐行运行一些命令并立即获得输出?它是否类似于Python,我们首先输入
python
来运行它的解释器,然后在其中输入任何命令?如何在不进入解释器的情况下运行这样的程序?它是否类似于Python,我们可以在shell中运行
python myscript.py
?
谢谢。
最佳答案
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 脚本,请查看以下问答:Run elisp program without Emacs?
但这并不是一件常见的事情,而且有很多理由不编写 elisp 脚本。
如果您不熟悉 Emacs 并且只是有一个 .el
文件,您不知道如何处理,那么这几乎肯定不是您想要做的。 Elisp 库几乎总是要在 Emacs 内部加载,而不是从 shell 执行。
(如果您完全不确定,我建议您用一个示例来更新您的问题,因为您可能会问错误的问题。)
关于python - 如何在 shell 中运行 emacs lisp 解释器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25130570/