33 文本

本章介绍用于处理缓冲区中文本的函数。大多数函数用于查看、插入或删除当前缓冲区中的文本,通常作用于光标位置或光标邻近的文本。其中许多是交互式函数。所有修改文本的函数均支持撤销更改(see 撤销)。

许多与文本相关的函数会操作一段文本区域,该区域由名为 startend 的两个缓冲区位置参数指定。这些参数可以是标记(see 标记)或数值型字符位置(see 位置)。参数的顺序无关紧要;start 为区域结尾、end 为区域起始的写法是合法的。例如,(delete-region 1 10)(delete-region 10 1) 效果相同。若 startend 超出缓冲区可访问范围,则会触发 args-out-of-range 错误。在交互式调用中,会使用光标与标记作为这两个参数。

本章通篇所述的 “文本(text)”,均指缓冲区中的字符及其相关属性(如适用)。请记住,光标始终位于两个字符之间,而屏幕光标显示在光标位置之后的那个字符上。