org module之org-num
org-num-mode 通过 overlay 给 Org 标题加编号(不影响 buffer 原文),只管显示不写进文件。默认对所有层级按 x 、 x.y 、 x.y.z 编号。
基础用法
用 M-x org-num-mode 就能开关,也能加到 Org mode 钩子里全局启用
(add-hook 'org-mode-hook #'org-num-mode)
控制编号深度
org-num-max-level 限制最大编号层级,设为 3 则四级以上标题不编号
(setq org-num-max-level 3)
nil 表示不限深度(默认值)。
跳过特定标题
想跳过特定标题?这几个变量管用
org-num-skip-tags—— 跳过带指定 tag 的标题(setq org-num-skip-tags '("no_num"))
org-num-skip-commented—— 跳过标记为COMMENT的标题org-num-skip-unnumbered—— 跳过带UNNUMBERED属性的标题org-num-skip-footnotes—— 跳过脚注区域
自定义编号样式
org-num-face 控制编号的字体样式
(setq org-num-face '(:foreground "gray50"))
org-num-format-function 控制编号的显示格式,接收一个按层级排列的编号列表。比如想变成「第 x.y.z 条」的格式
(setq org-num-format-function (lambda (nums) (concat "第 " (mapconcat #'number-to-string nums ".") " 条 ")))
* 第 1 条 标题 ** 第 1.1 条 子标题 *** 第 1.1.1 条 子子标题