我每天都使用Emacs,因为它是Erlang的标准编辑器。
我决定作为新年决议学习编程eLisp。我认为写一本有关eLisp的书是最好的学习方法。
我取得了相当不错的进步:
Learn eLisp For Emacs
这本书的战略结构是
入门/基础
更高级的eLisp
编写次要模式
编写主要模式
我已经了解了基础知识(即这4点中的第一点),内容包括:
评估表达
调试
添加菜单项/工具栏
加载自己的emacs文件
等等
如果您要写一本关于编程语言的书,通常首先要很了解该语言(我不太了解),所以我现在的主要问题是完整性问题:
我怎么知道我已经涵盖了Emacs程序员应该掌握的所有功能?
如何确保内容之间没有空隙?
因此,我想我可以通过问这里的社区来解决这些问题。我的问题是目录中缺少什么? (特别是更高级的eLisp部分应包含什么)。
最佳答案
现在,这是一种学习语言的有趣方式...
我认为您可能已经在“入门/基础知识”部分中跳过了一堆基本知识。如果您尚未阅读它,建议阅读"An Introduction To Programming In Emacs Lisp"(位于gnu.org),其中涵盖了我希望在“基础”部分看到的内容。我不会打扰剪切/粘贴目录。
就知道什么时候写完一本完整的书而言……那么,一旦您以“操作方法”形式重新编写了Emacs Lisp manual,就知道您已经完成了。另外,如果您写了一本书可以用来回答/解释所有elisp和emacs问题,那么您可能拥有不错的报道。
您可以撰写哪些高级功能? advice,process communication,non-ASCII text,syntax tables,abbrevs,text properties,byte compilation,display tables,images和manual中还有很多。
注意:elisp的大写字母要么全部小写,要么大写E。GNU文档根本不使用“ elisp”(大多是目录名,全部为小写),它更喜欢“ Emacs Lisp”。
注意:在当前版本的书中,您会对全局变量产生负面影响。可能值得阅读RMS paper以获得对设计决策的一些见解,特别是关于global variables以及dynamic binding(您尚未介绍的后者,这是您的关键(基本)概念)在您的书中已经弄错了)。
关于emacs - 如果要编程Emacs,ELisp要学习的最重要部分是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4868593/