关于 Emacs 中的变量你需要知道的事情
学习 Elisp 是如何处理变量的,以及如何在你的脚本与配置中使用它们。 GNU Emacs 是由 C 和 Emacs Lisp(Elisp,Lisp 编程语言的一种方言)写成,它是一个编辑器的同时,又碰巧是 Elisp 的沙盒。因此,理解 Elisp 中的一些基本编程概念会对你有一些帮助。 如果你是 Emacs 新手,请先阅读 Sacha Chua 的《 给 Emacs 新手的资源 》精品帖。本篇文章假定你熟悉常见的 Emacs 术语,并且能够阅读并求值 Elisp 代码的简单片段。最好你也听说过变量作用域的概念,知道它在其它编程语言中的作用。本篇文章中的示例假定你使用的是相对较新的 Emacs 版本( v.25 之后的版本 )。 Elisp 手册 包含了 Elisp 的方方面面,但它是写给那些有明确查找目标的人们的(它在这方面也做得相当棒)。但是很多人想要能够在更高的层次上解释 Elisp 概念的材料,同时将信息压缩成最精华的部分。本篇文章也正是我回应这种呼声的一次尝试,为读者描绘基础的大体轮廓。使他们能在配置中用上这些技巧,也让他们在手册中查询细节变得更容易。 全局变量 用 defcustom 定义的用户设置和用 defvar 或 defconst 定义的变量是全局的。使用 defcustom 或 defvar 声明变量的一个非常重要的原因是,当一个变量已经被绑定bind