emacs - 如果要编程Emacs,ELisp要学习的最重要部分是什么?

标签 emacs elisp

我每天都使用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,就知道您已经完成了。另外,如果您写了一本书可以用来回答/解释所有elispemacs问题,那么您可能拥有不错的报道。

您可以撰写哪些高级功能? adviceprocess communicationnon-ASCII textsyntax tablesabbrevstext propertiesbyte compilationdisplay tablesimagesmanual中还有很多。

注意:elisp的大写字母要么全部小写,要么大写E。GNU文档根本不使用“ elisp”(大多是目录名,全部为小写),它更喜欢“ Emacs Lisp”。

注意:在当前版本的书中,您会对全局变量产生负面影响。可能值得阅读RMS paper以获得对设计决策的一些见解,特别是关于global variables以及dynamic binding(您尚未介绍的后者,这是您的关键(基本)概念)在您的书中已经弄错了)。

关于emacs - 如果要编程Emacs,ELisp要学习的最重要部分是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4868593/

相关文章:

emacs - 我如何调整这个 elisp 函数来区分 C-d 和 DEL?

emacs - 组织模式下的任务依赖

emacs - 如何解决冲突的面孔订单?

Emacs 24 Ubuntu 菜单面板

emacs - 更改 Emacs 中的默认文件夹

emacs - 我可以在文本文件中包含 lisp 代码,以便在 Emacs 加载文件时执行吗?

emacs - 从 elisp 加载动态库

windows - Emacs 中的路径名翻译,用于从远程(ssh 编译)错误文件名查找本地源文件路径

emacs - 如何根据文件位置运行 Hook

Emacs - 找不到关于电子布局模式的信息