Emacs中有各种很酷的编程语言模式,都是用elisp编写的,但显然没有对elisp本身的特殊支持。
因为slime不适用于elisp,所以我问自己,是不是所有elisp代码都只是在暂存缓冲区中被黑了?在编写elisp时,是否不需要像slime这样的东西,或者根本就不需要?有没有人在更大的elisp项目中使用ECB和语义?
发布于 2011-03-09 06:06:50
Emacs本身带有对Emacs Lisp的支持。像补全(M-TAB
)、库搜索(M-x apropos
)、文档(C-h f
、C-h v
、C-h S
)、运行中的代码(C-M-x
、M-:
)等基本到中间的事情都是在运行中的Emacs中直接操作的。
Slime的主要目的是与外部进程进行交互。对于Emacs Lisp,您不需要这样做(除非您正在为不同版本的Emacs进行开发,但这是一个很少见的问题)。
ECB和语义的功能主要用于大型项目(由多个源文件组成)。人们不倾向于用Emacs Lisp编写大型项目。
发布于 2011-03-09 05:09:20
总是有emacs-lisp-mode,它(至少在Emacs23中)会在您编辑.el文件时自动加载。这似乎是许多emacs lisp黑客用来编写程序的工具。它有一些很好的特性(比如编译或评估缓冲区,一些调试工具,分析)。scratch* buffer默认情况下是从lisp-interaction-mode编辑的,这有点不同。
它没有像slime那样功能齐全(elisp的社区比普通的lisp小得多),但它绝对可以工作。您必须查看文档并尝试该模式,以了解您可以使用哪些功能。
发布于 2011-08-20 22:32:58
emacs-lisp-mode
,而不是*scratch*
的默认模式。99%的时间我想保存甚至是一次性的交互式测试(至少是暂时的),所以在与Emacs Lisp交互时,我更多地使用比*scratch*
.*.el
文件。方法太多了,无法在这里一一列举。这里有两个概述,可以给出一个想法:https://stackoverflow.com/questions/5238245
复制相似问题