每当你向 Emacs Lisp 输入编辑命令(如移动光标或滚动屏幕),你就在对一个表达式求值,该表达式的第一个元素是一个函数。这就是 Emacs 的工作方式。
按键操作会让 Lisp 解释器对表达式求值,从而得到对应结果。即使输入普通文本也会执行 Emacs Lisp 函数,本例中是使用 self-insert-command 直接插入输入的字符。通过按键触发求值的函数被称为交互式函数(interactive)或命令(commands)。如何将函数设为交互式将在“编写函数定义”章节介绍,详见 See Making a Function Interactive。
除了按键命令,我们还见过第二种求值方式:将光标放在列表后面并输入 C-x C-e。本节后续内容都会使用这种方式。还有其他求值方式,遇到时再做介绍。
接下来几节介绍的函数不仅可用于练习求值,其本身也非常重要。学习这些函数能清晰理解缓冲区与文件的区别、如何切换缓冲区以及如何定位缓冲区内部位置。