2.4 缓冲区大小和点的位置

最后,让我们看一些相当简单的函数,buffer-sizepointpoint-minpoint-max。它们提供有关缓冲区大小和点在其中的位置的信息。

函数buffer-size告诉您当前缓冲区的大小;也就是说,该函数返回缓冲区中字符的数量。

(buffer-size)

您可以通过将光标放置在表达式后,并键入C-x C-e来评估它。

在Emacs中,光标的当前位置被称为point。表达式(point)返回一个数字,告诉您光标的位置,以字符数表示,从缓冲区开头到point的位置。

您可以通过以通常的方式评估以下表达式来查看point在该缓冲区的字符计数:

(point)

在我写这篇文章的时候,point的值是65724。point函数在本书的一些后面的示例中经常被使用。

point的值当然取决于它在缓冲区内的位置。如果在这个位置评估point,数字会更大:

(point)

对我而言,在这个位置,point的值是66043,这意味着两个表达式之间有319个字符(包括空格)。 (毫无疑问,由于我首次评估point后进行了编辑,你可能会看到不同的数字。)

函数point-minpoint有些相似,但它返回当前缓冲区中point的最小允许值。这个值是1,除非启用了narrowing。(Narrowing是一种机制,通过它,您可以将自己或程序限制在仅对缓冲区的一部分进行操作。See 窄化和扩展.)同样,函数point-max返回当前缓冲区中point的最大允许值。