28.1 缓冲区基础

缓冲区(buffer)是一种用于存放待编辑文本的 Lisp 对象。缓冲区用于保存已访问文件的内容;同时也存在不关联任何文件的缓冲区。虽然通常会同时存在多个缓冲区,但任何时刻都只有一个缓冲区被指定为当前缓冲区(current buffer)。大多数编辑命令都作用于当前缓冲区的内容。每个缓冲区(包括当前缓冲区)可以显示在某个窗口中,也可以不显示在任何窗口。

Emacs 编辑中的缓冲区是具有独立名称、并可编辑文本的对象。对 Lisp 程序而言,缓冲区是一种特殊数据类型。你可以将缓冲区内容看作一个可扩展的字符串;插入与删除操作可以发生在缓冲区的任意位置。See Text

Lisp 缓冲区对象包含大量信息。其中部分信息程序员可通过变量直接访问,另一部分信息则仅能通过专用函数访问。例如,已访问文件名可通过变量直接获取,而光标位置(point)的值仅能通过原始函数获取。

可直接访问的缓冲区专属信息存储在缓冲区局部(buffer-local)变量绑定中,这类变量值仅在特定缓冲区中生效。该特性允许每个缓冲区覆盖特定变量的值。大多数主模式都会以这种方式覆盖 fill-columncomment-column 等变量。关于缓冲区局部变量及相关函数的更多信息,参见缓冲区局部变量

与在缓冲区中访问文件相关的函数和变量,参见访问文件保存缓冲区。与在窗口中显示缓冲区相关的函数和变量,参见Buffers and Windows

Function: bufferp object

object 为缓冲区,该函数返回 t,否则返回 nil

emacs

Emacs

org-mode

Orgmode

Donations

打赏

Copyright

© Jasper Hsu

Creative Commons

Creative Commons

Attribute

Attribute

Noncommercial

Noncommercial

Share Alike

Share Alike