24.2.5 基础主模式

除基本模式外,还有三种主模式是其他主模式常用的派生来源:文本模式、编程模式和特殊模式。文本模式本身就很实用(例如用于编辑后缀为 .txt 的文件),而编程模式与特殊模式主要用于供其他模式从中派生。

新建的主模式应尽可能直接或间接从这三种模式之一派生。原因之一是,这样用户可以通过一个统一的模式钩子(例如 prog-mode-hook)为一整类相关模式(例如所有编程语言模式)进行自定义配置。

Command: text-mode

文本模式是用于编辑人类语言文本的主模式。它将字符 ‘"’ 和 ‘\’ 定义为标点符号语法(see Table of Syntax Classes),并设置 completion-at-point 根据拼写词典进行单词补全(see 普通缓冲区中的补全)。

从文本模式派生的主模式示例是 HTML 模式。See SGML and HTML Modes in The GNU Emacs Manual

Command: prog-mode

编程模式是用于编辑编程语言源代码缓冲区的基础主模式。Emacs 内置的大多数编程语言主模式均从该模式派生。

编程模式将 parse-sexp-ignore-comments 设为 t(see Motion Commands Based on Parsing),并将 bidi-paragraph-direction 设为 left-to-right(see Bidirectional Display)。

Command: special-mode

特殊模式是一类基础主模式,用于显示由 Emacs 专门生成、而非直接来自文件的文本缓冲区。从特殊模式派生的主模式会被赋予 special 类型的 mode-class 属性(see 主模式编码规范)。

特殊模式会将缓冲区设为只读。其按键映射中定义了若干常用绑定,包括 q 对应 quit-windowg 对应 revert-buffer(see 恢复缓冲区)。

从特殊模式派生的主模式示例是缓冲区菜单模式,该模式用于 *Buffer List* 缓冲区。See Listing Existing Buffers in The GNU Emacs Manual

此外,用于展示表格化数据的缓冲区模式可以从列表表格模式继承,而该模式本身又派生自特殊模式。See 表格列表模式


emacs

Emacs

org-mode

Orgmode

Donations

打赏

Copyright

© Jasper Hsu

Creative Commons

Creative Commons

Attribute

Attribute

Noncommercial

Noncommercial

Share Alike

Share Alike