暗无天日

=============>DarkSun的个人博客

org module之org-num

org-num-mode 通过 overlay 给 Org 标题加编号(不影响 buffer 原文),只管显示不写进文件。默认对所有层级按 xx.yx.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 条 子子标题
Emacs之怒