Markdown 与 Obsidian 语法速查

Markdown 与 Obsidian 语法速查

Markdown 是一种轻量级标记语言。它通过少量符号表达标题、列表、链接、代码和表格等结构,让笔记既容易阅读,也能以纯文本形式长期保存。

技巧
本文同时介绍标准 Markdown 和 Obsidian 扩展语法。标有“Obsidian”的功能,在其他 Markdown 编辑器中不一定有效。

一、标题

在文字前输入 # 和一个空格。# 越多,标题层级越低。

1
2
3
4
5
6
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题

一篇笔记通常只使用一个一级标题,再通过二级、三级标题组织内容。

二、段落与换行

段落之间空一行:

1
2
3
这是第一段。

这是第二段。

如果只按一次回车,Markdown 通常仍会把文字视为同一段。需要强制换行时,可以在上一行末尾输入两个空格,或者使用 HTML 标签 <br>

1
2
3
4
5
第一行末尾有两个空格  
这里会另起一行。

也可以这样换行:<br>
新的一行。

三、文字样式

用途 输入语法 显示效果
粗体 **粗体** 粗体
斜体 *斜体* 斜体
粗斜体 ***粗斜体*** 粗斜体
删除线 ~~删除线~~ 删除线
高亮(Obsidian) <mark>高亮</mark> 高亮
行内代码 `printf()` printf()

这些样式可以组合使用:

1
这是一段 **重要内容**,其中 ==这一部分需要高亮==。

显示效果:

这是一段 重要内容,其中 这一部分需要高亮

四、无序列表

使用 -*+ 加一个空格:

1
2
3
- 苹果
- 香蕉
- 橙子

显示效果:

  • 苹果
  • 香蕉
  • 橙子

缩进两个或四个空格,可以创建子列表:

1
2
3
4
5
6
7
- 嵌入式开发
  - C 语言
  - 单片机
  - 实时操作系统
- 个人成长
  - 时间管理
  - 定期复盘

五、有序列表

使用数字、英文句点和空格:

1
2
3
4
1. 明确目标
2. 拆分任务
3. 开始行动
4. 总结复盘

实际输入时全部写成 1. 也可以,Markdown 会自动编号:

1
2
3
1. 第一步
1. 第二步
1. 第三步

六、任务清单

使用 - [ ] 创建未完成任务,使用 - [x] 表示已完成:

1
2
3
4
- [x] 创建学习计划
- [ ] 阅读第一章
- [ ] 完成练习
- [ ] 总结知识点

显示效果:

  • 创建学习计划
  • 阅读第一章
  • 完成练习
  • 总结知识点

在 Obsidian 阅读视图中,可以直接单击复选框修改任务状态。

七、引用

在段落前输入 >

1
> 知识只有经过整理和使用,才能逐渐转化为能力。

显示效果:

知识只有经过整理和使用,才能逐渐转化为能力。

引用可以嵌套:

1
2
3
> 第一层引用
>
>> 第二层引用

八、行内代码

用一对反引号包裹短代码、命令、变量名或文件名:

1
2
使用 `git status` 查看仓库状态。
变量 `counter` 用于记录循环次数。

显示效果:

使用 git status 查看仓库状态。变量 counter 用于记录循环次数。

九、代码块

使用三反引号包裹多行代码。开头的反引号后可以填写语言名称,以启用语法高亮。

1
2
3
4
5
6
7
8
9
```c
#include <stdio.h>

int main(void)
{
    printf("Hello, Markdown!\n");
    return 0;
}
```

显示效果:

1
2
3
4
5
6
7
#include <stdio.h>

int main(void)
{
    printf("Hello, Markdown!\n");
    return 0;
}

常见语言标识包括:

语言或内容 标识
C c
C++ cpp
Python python
JavaScript javascriptjs
JSON json
Shell bashshell
PowerShell powershell
Markdown markdown
纯文本 text

十、表格

使用竖线 | 分隔列,使用连字符 - 分隔表头和内容:

1
2
3
4
5
| 名称 | 用途 | 状态 |
| --- | --- | --- |
| GPIO | 数字输入输出 | 已掌握 |
| UART | 串口通信 | 学习中 |
| SPI | 高速同步通信 | 待学习 |

显示效果:

名称 用途 状态
GPIO 数字输入输出 已掌握
UART 串口通信 学习中
SPI 高速同步通信 待学习

通过冒号可以设置对齐方式:

1
2
3
| 左对齐 | 居中 | 右对齐 |
| :--- | :---: | ---: |
| 内容 | 内容 | 100 |
左对齐 居中 右对齐
内容 内容 100
说明
表格中的竖线如果不是列分隔符,需要写成 \|

十一、分隔线

单独一行输入三个或更多的连字符、星号或下划线:

1
---

显示效果:


分隔线适合区分主题,但不宜使用过多,标题通常是更清晰的结构工具。

十二、普通链接

链接文字放在方括号中,网址放在圆括号中:

1
[Obsidian 官网](https://obsidian.md)

显示效果:

Obsidian 官网

直接粘贴网址也可以形成链接:

1
<https://obsidian.md>

十三、图片

Markdown 图片语法比普通链接多一个感叹号:

1
![图片说明](图片地址)

网络图片示例:

1
![示例图片](https://example.com/image.png)

也可以使用 Obsidian 的嵌入语法显示仓库附件:

1
![[示例图片.png]]

指定图片宽度:

1
![[示例图片.png|400]]

十四、Obsidian 双向链接

使用双方括号链接仓库内的其他笔记:

1
[[个人成长:建立可持续的进步系统]]

可以为链接设置显示名称:

1
[[个人成长:建立可持续的进步系统|个人成长系统]]

链接到某个标题:

1
[[嵌入式系统学习路线#二、推荐的实践方式]]

链接到当前笔记中的标题:

1
[[#九、代码块]]

十五、块链接

Obsidian 可以链接到一段特定内容。在目标段落末尾添加块标识:

1
这是一段值得反复引用的重要内容。 ^important

在其他位置引用:

1
[[笔记名称#^important]]

块标识应当简短且唯一,通常使用英文、数字和连字符。

十六、嵌入其他内容

在双向链接前添加 !,可以把目标内容直接嵌入当前笔记:

1
2
3
![[另一篇笔记]]
![[另一篇笔记#某个标题]]
![[另一篇笔记#^important]]

Obsidian 还可以嵌入图片、音频和 PDF:

1
2
3
4
![[图片.png]]
![[录音.mp3]]
![[文档.pdf]]
![[文档.pdf#page=3]]

十七、提示框 Callout

Callout 是 Obsidian 提供的醒目提示框:

1
2
3
4
5
6
7
8
> [!note]
> 这是一条普通说明。

> [!tip] 自定义标题
> 这是一条实用建议。

> [!warning]
> 这里需要特别注意。

常用类型:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
> [!note] 说明
> 补充信息。

> [!abstract] 摘要
> 内容摘要。

> [!info] 信息
> 背景信息。

> [!tip] 技巧
> 实用建议。

> [!success] 成功
> 已经完成。

> [!question] 问题
> 需要进一步思考。

> [!warning] 警告
> 可能存在风险。

> [!danger] 危险
> 必须立即处理。

> [!example] 示例
> 一个具体例子。

> [!quote] 引用
> 引用内容。

可折叠提示框使用 +-

1
2
3
4
5
> [!faq]- 默认折叠
> 单击标题后展开内容。

> [!note]+ 默认展开
> 这部分内容可以折叠。

十八、脚注

脚注适合补充来源或不便放在正文中的说明:

1
2
3
Markdown 由 John Gruber 创建。[^1]

[^1]: Markdown 最初发布于 2004 年。

也可以使用行内脚注:

1
这句话包含一条补充说明。^[这就是行内脚注。]

十九、标签

使用 # 创建标签:

1
2
3
#嵌入式
#个人成长
#学习/编程

标签中不能包含空格。层级标签使用 / 分隔,例如 #学习/编程

为了避免标签被识别成标题,正文标签通常放在行内,或者统一写在 YAML 属性中。

二十、YAML 属性

笔记开头的一对 --- 之间可以保存结构化属性:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
---
title: Markdown 语法速查
date: 2026-06-15
tags:
  - Markdown
  - Obsidian
aliases:
  - Markdown 用法
status: 学习中
---

常见属性包括:

属性 用途
title 笔记标题
date 创建或记录日期
tags 分类标签
aliases 笔记别名
status 当前状态
source 内容来源

YAML 必须位于文件最开头,冒号后要保留一个空格。

二十一、数学公式

Obsidian 使用 LaTeX 语法显示公式。

行内公式使用一对 $

1
勾股定理可以写成 $a^2+b^2=c^2$。

独立公式使用两对 $$

1
2
3
$$
E = mc^2
$$

常见写法:

1
2
3
4
5
6
\frac{a}{b}            % 分数
x^2                    % 上标
x_i                    % 下标
\sqrt{x}               % 根号
\sum_{i=1}^{n} x_i     % 求和
\alpha + \beta         % 希腊字母

二十二、Mermaid 图表

Obsidian 可以通过 Mermaid 代码块绘制流程图:

1
2
3
4
5
6
7
8
```mermaid
flowchart LR
    A[明确目标] --> B[拆分任务]
    B --> C[开始行动]
    C --> D[获取反馈]
    D --> E[复盘改进]
    E --> B
```

显示效果:

flowchart LR
    A[明确目标] --> B[拆分任务]
    B --> C[开始行动]
    C --> D[获取反馈]
    D --> E[复盘改进]
    E --> B
flowchart LR
    A[明确目标] --> B[拆分任务]
    B --> C[开始行动]
    C --> D[获取反馈]
    D --> E[复盘改进]
    E --> B
flowchart LR
    A[明确目标] --> B[拆分任务]
    B --> C[开始行动]
    C --> D[获取反馈]
    D --> E[复盘改进]
    E --> B

二十三、注释

Obsidian 使用两对百分号隐藏注释。注释在编辑模式中可见,在阅读视图中不会显示:

1
2
3
4
5
6
7
8
这段内容会正常显示。

%% 这是一条不会在阅读视图中显示的备注。 %%

%%
这里也可以写
多行注释。
%%

二十四、转义特殊字符

如果希望显示 Markdown 符号本身,可以在符号前添加反斜杠 \

1
2
3
\*这段文字不会变成斜体\*
\# 这不会变成标题
\- 这不会变成列表

常见需要转义的字符包括:

1
\  `  *  _  { }  [ ]  < >  ( )  #  +  -  .  !  |

二十五、HTML

多数 Markdown 编辑器允许使用少量 HTML:

1
2
3
4
<u>下划线文字</u>
H<sub>2</sub>O
x<sup>2</sup>
<kbd>Ctrl</kbd> + <kbd>P</kbd>

显示效果:

下划线文字
H2O
x2
Ctrl + P

HTML 的兼容性不如标准 Markdown,只有在 Markdown 本身无法表达时再使用。

二十六、一个完整笔记示例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
---
title: UART 学习记录
date: 2026-06-15
tags:
  - 嵌入式
  - UART
status: 学习中
---

# UART 学习记录

## 今日目标

- [x] 理解基本通信原理
- [ ] 完成串口收发实验

## 核心概念

UART 是一种 **异步串行通信** 方式,常见参数包括:

| 参数 | 示例 |
| --- | --- |
| 波特率 | 115200 |
| 数据位 | 8 |
| 停止位 | 1 |
| 校验位 | 无 |

> [!warning]
> 通信双方的参数必须保持一致。

## 示例代码

```c
printf("Hello UART!\r\n");
```

## 总结

今天掌握了 ==UART 的基本帧结构==,下一步学习中断接收。

相关笔记:[[嵌入式系统学习路线]]

二十七、使用建议

  1. 使用标题表达内容结构,不要只依赖粗体。
  2. 一段只讨论一个主要观点。
  3. 用任务清单记录行动,用普通列表记录知识。
  4. 用双向链接连接相关主题,不必为每个词都创建链接。
  5. 代码块注明语言,以获得更清晰的语法高亮。
  6. 表格适合结构化对比,不适合容纳大段文字。
  7. 标签用于分类,链接用于表达笔记之间的关系。
  8. 优先使用通用 Markdown,需要时再使用 Obsidian 扩展。

快速索引

  • 粗体、斜体、删除线与高亮
  • 任务清单
  • 代码块
  • 表格
  • 双向链接
  • 提示框
  • YAML 属性
  • 数学公式
  • Mermaid 图表