1 基础操作
-
如何运行:按下快捷键
Cmd/Ctrl + P唤起命令面板,输入 “Number Headings” 即可看到相关命令(如“自动编号”、“清除编号”等)。 -
优先级说明:如果你在笔记的 Frontmatter(开头属性区)定义了设置,它会覆盖插件的全局设置。
2 Frontmatter 配置详解
你可以在笔记开头这样写:
YAML
---
number headings: first-level 1, start-at 2, max 6, 1.1, auto, contents ^toc
---2.1 参数具体含义
-
自动编号 (Automatic numbering):包含
auto时,文档内容变动会自动刷新编号。 -
起始级别 (First level to number):如
first-level 2表示从二级标题(##)开始编号,一级标题(#)跳过。 -
起始数值 (Start numbering at):如
start-at 2或start-at C,表示编号不从 1/A 开始,而是从 2/C 开始。 -
最大级别 (Maximum level):如
max 6,表示最多编号到六级标题。 -
目录锚点 (Table of contents anchor):包含
contents ^toc时,插件会在出现^toc标记的标题下方自动插入目录。 -
跳过锚点 (Skip headings anchor):包含
skip ^skipped时,末尾带有^skipped的标题将不会被编号。
3 编号样式 (Numbering style)
这是控制序号长什么样的核心设置。你可以通过 1.1、A.1 或 _1.1 来定义:
-
分隔符:如果样式字符串以
.、:、-或)结尾,序号与标题之间就会用该符号分隔。 -
示例解析:
-
1.1:所有层级均使用数字(1, 1.1, 1.1.1)。 -
A.1:顶级标题用字母,子标题用数字(A, A.1)。 -
_1.1:顶级标题不编号,从二级标题开始编号(类似你目前的规范)。 -
1.1::显示效果为## 1.1: 标题。
-
4 架构师建议 (H2)
为了符合你之前定义的 “H2 必须使用 1. 标题 ” 规范,建议你在全局设置或特定笔记中采用以下配置:
-
4.1.1 样式选择:使用
1.1且不带起始下划线。 -
4.1.2 起始级别:由于你禁用了 H1,建议设置从 Level 2 开始编号(如果插件识别文件名作为 H1 的话)。
-
4.1.3 配合 Quartz:这个插件会直接修改你的 Markdown 文本。这意味着一旦你在 Obsidian 里运行了编号命令,物理文件就会带上序号,Quartz 发布后,Recent Notes 和侧边栏依然会看到这些序号。
如果你希望 Number Headings 插件不影响到特定的某篇笔记,你可以通过在该笔记的 Frontmatter(文件最开头的属性区域)中添加特定的指令来“熔断”插件功能。
根据该插件的设置规范,你有两种主要方式来实现这一目标:
5 彻底关闭该篇笔记的编号 (H2)
如果你想让某篇笔记完全不被插件处理,请在笔记的最上方添加以下代码:
YAML
---
number headings: off
----
1.1.1 原理说明:当插件检测到
off参数时,它会完全忽略这篇文档,即使你运行了全局的“为所有标题编号”命令,这篇笔记也会保持原样。 -
1.1.2 适用场景:适用于日记、灵感草稿或已经手动排好序、不希望被插件干扰的特殊文档。
6 灵活跳过特定标题 (H2)
如果你只是想保护笔记中的某些特定标题不被自动加上序号,可以使用“锚点”功能。
-
2.1.1 使用跳过锚点:在 Frontmatter 中定义
skip ^skipped,然后在你不想编号的标题末尾加上^skipped。- 示例:
## 这是一个不需要序号的标题 ^skipped
- 示例:
-
2.1.2 排除特定层级:通过设置
max参数来限制编号深度。例如设置number headings: max 3,那么四级(####)及以下的标题将不会被插件改动。
7 架构师的防御性建议 (H2)
为了最大限度减少误操作导致的笔记乱码,建议采取以下策略:
-
3.1.1 禁用自动刷新:在 Frontmatter 中不要包含
auto关键字。这样除非你手动执行命令,否则插件不会偷偷修改你的文档。 -
3.1.2 样式隔离:如果你不希望顶级标题被编号,使用
_1.1样式。这样插件会跳过 H1,只从二级标题开始处理,这符合你之前的 H2/H3 编号规范。