如何在shell中运行emacs lisp解释器?

时间:2014-08-05 03:06:24

标签: python shell emacs elisp

我正在尝试在Emacs Lisp中运行一些程序示例。

  • 我们如何在shell中运行它的解释器,然后逐行运行一些命令,输出立即可用?它是否类似于Python,我们首先键入python来运行它的解释器,然后在其中键入任何命令?

  • 我们如何在没有进入解释器的情况下运行这样的程序?它是否类似于Python,我们可以在shell中运行python myscript.py

感谢。

1 个答案:

答案 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执行。

(如果您完全不确定,我建议您使用示例更新您的问题,因为您可能会提出错误的问题。)