最后,我们来看几个相当简单的函数:buffer-size、point、point-min 和 point-max。它们提供有关缓冲区大小和光标(点)在缓冲区中位置的信息。
函数 buffer-size 会告诉你当前缓冲区的大小;也就是说,该函数返回缓冲区中字符的总数。
(buffer-size)
你可以按常规方式对此求值:将光标放在表达式后面,输入 C-x C-e。
在 Emacs 中,光标的当前位置被称为 点(point)。表达式 (point) 返回一个数字,该数字表示光标相对于缓冲区开头的位置,即从缓冲区开头到点的字符计数。
按常规方式对以下表达式求值,即可查看当前缓冲区中点的字符计数值:
(point)
在我编写本文时,点的值是 65724。point 函数在本书后面的一些示例中经常会用到。
当然,点的值取决于其在缓冲区中的位置。如果你在这个位置求值点,数字会更大:
(point)
对我来说,这个位置的点值是 66043,这意味着两个表达式之间有 319 个字符(包括空格)。(毫无疑问,你看到的数字会不同,因为我在首次求值点之后肯定已经编辑过本文。)
函数 point-min 与 point 有些相似,但它返回当前缓冲区中允许的点的最小值。除非启用了限制(narrowing),否则该值为 1。(限制是一种机制,允许你或程序将操作限制在缓冲区的某一部分。See 限制与扩展。)同样,函数 point-max 返回当前缓冲区中允许的点的最大值。