现在位置: 首页 > Obsidian 教程 > 正文

Markdown 基础

Markdown 是 Obsidian 的底层书写语言。

Markdown 用纯文本符号来表达格式,让你在写作时双手不用离开键盘,专注于内容而非排版。

本章涵盖 Obsidian 日常使用中最常用的 Markdown 语法,所有示例可直接在 Obsidian 中练习。

Markdown 更多内容参考:https://www.runoob.com/markdown/md-tutorial.html


标题

Markdown 使用 # 号表示标题,数量从 1 到 6 对应 H1 到 H6。

在 Obsidian 中,标题有两个额外作用:大纲面板会基于标题自动生成文档目录,其他笔记可以通过 [[笔记名#标题]] 直接链接到某个标题位置。

实例

# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题

建议正文从二级标题开始使用,让一级标题留给笔记的大标题。这样大纲结构更清晰,也方便日后通过标题引用定位内容。


文本格式化

基本的行内样式用以下符号包裹文本即可。

实例

**这是粗体**
__这也是粗体__

*这是斜体*
_这也是斜体_

***这是粗斜体***

~~这是删除线~~

==这是高亮==

渲染效果:

  • 粗体:这是粗体
  • 斜体:这是斜体
  • 粗斜体:这是粗斜体
  • 删除线:这是删除线
  • 高亮:这是高亮

其中 ==高亮== 是 Obsidian 对标准 Markdown 的扩展语法,在普通 Markdown 编辑器中可能不生效。


引用

使用 > 符号创建引用块,适合引用外部资料或突出重要内容。

实例

> 这是一条引用

> 这是另一条引用
> 可以跨多行

> ### 引用中可以嵌套标题
>
> 引用块内可以使用任何 Markdown 语法:
> - 列表项
> - **粗体文字**

在 Obsidian 中,引用块还有一种特殊用法:在引用前加上 [!note] 这类标注,可以变成 Callout 提示框。

实例

> [!note] 提示
> 这是一个 Callout 提示框,比普通引用更醒目。

> [!warning] 注意
> 删除 Vault 中的文件会同时删除本地文件,操作前请确认。

> [!tip] 技巧
> 按 Cmd+P 打开命令面板,可以搜索并执行 Obsidian 的所有操作。

列表与任务清单

无序列表

使用 -*+ 创建无序列表。

子列表用缩进(Tab 或两个空格)表示层级。

实例

- 编程语言
    - Python
    - JavaScript
    - Go
- 数据库
    - 关系型
        - MySQL
        - PostgreSQL
    - 非关系型
        - MongoDB
        - Redis

有序列表

使用数字加 . 创建有序列表,数字本身不必连续,Markdown 会自动递增。

实例

1. 打开 Obsidian
2. 创建新 Vault
3. 新建一篇笔记
4. 开始写作

任务清单

- [ ] 创建可点击的复选框,这是 Obsidian 中使用频率最高的语法之一。

实例

## 今日待办

- [ ] 读完《深入理解计算机系统》第三章
- [ ] 整理本周学习笔记
- [x] 完成 Obsidian 环境搭建
- [x] 学习 Markdown 基础语法

在 Obsidian 中点击复选框即可切换完成状态。

结合 Dataview 插件,你还可以跨笔记汇总所有未完成的任务——这个进阶用法会在后续章节中介绍。


代码与代码块

行内代码

用单个反引号 ` 包裹行内代码或命令。

实例

在终端中运行 `npm install` 安装依赖。
Python 中的 `print()` 函数用于输出内容。

代码块

用三个反引号 ``` 包裹多行代码,并在开头指定语言以获得语法高亮。

实例

```python
# 文件路径:hello.py
def greet(name):
    """向指定用户打招呼"""
    return f"Hello, {name}!"

# 调用函数并打印结果
result = greet("runoob")
print(result)
```

Obsidian 支持数十种编程语言的语法高亮,包括 Python、JavaScript、C++、Java、Go、Rust、SQL、Bash 等。


表格

使用 | 分隔列,用 --- 分隔表头与表体。

--- 行中使用 : 控制对齐方式。

实例

| 语言 | 诞生年份 | 创始人 |
|------|:--------:|-------|
| Python | 1991 | Guido van Rossum |
| JavaScript | 1995 | Brendan Eich |
| Go | 2009 | Robert Griesemer, Rob Pike, Ken Thompson |
| Rust | 2010 | Graydon Hoare |

对齐规则:

  • --- 默认左对齐
  • :---: 居中对齐
  • ---: 右对齐

Markdown 表格不支持合并单元格。如果需要复杂表格,可以考虑使用 HTML 的 <table> 标签,Obsidian 支持在 Markdown 文件中直接嵌入 HTML。


图片与链接

超链接

基本语法为 [显示文本](URL)

实例

[RUNOOB 教程](https://www.runoob.com)

[GitHub](https://github.com "悬停时显示的标题文字")

图片

语法与链接类似,前面加一个 !

Obsidian 支持直接粘贴图片,会自动复制到附件文件夹并在当前笔记中插入引用。

实例

<!-- 网络图片 -->
![RUNOOB Logo](https://www.runoob.com/images/logo.png)

<!-- 本地图片(相对于 Vault 根目录) -->
![架构图](attachments/architecture.png)

<!-- 带尺寸控制(Obsidian 扩展语法) -->
![架构图|300](attachments/architecture.png)

Obsidian 扩展了图片语法,可以在文件名后加 |宽度 来控制显示尺寸,例如 ![图片|400](path) 将图片宽度限制为 400 像素。

Obsidian 专属:内部链接

除了标准 Markdown 链接,Obsidian 提供 [[笔记名]] 语法来链接到 Vault 中的其他笔记。

这是 Obsidian 最核心的语法,下一章将详细展开。


分隔线

使用三个或更多的 ---***___ 创建分隔线。

实例

## 第一部分

内容...

---

## 第二部分

内容...

注意区分:--- 单独一行是分隔线,但在文档最顶部的 --- 之间的内容是 YAML Front Matter(见下一节)。Obsidian 会自动识别上下文来决定是分隔线还是 Front Matter。


YAML Front Matter

Front Matter 是写在笔记最顶部的元数据区块,用两组 --- 包裹。

它用来定义这篇笔记的属性:标签、别名、创建日期、状态等。

实例

---
title
: "Obsidian 学习笔记"
tags
:
 - obsidian
  - markdown
  - 笔记工具
aliases
:
 - Obsidian 入门
  - 第二大脑教程
created
: 2026-05-21
status
: 进行中
---

常用 Front Matter 字段说明:

字段类型说明
tags字符串或数组笔记的标签,支持嵌套如 编程/Python
aliases字符串或数组笔记的别名,其他笔记可以通过别名链接到本篇
created日期创建日期,Templater 插件可自动填充
updated日期最后更新日期,部分插件可自动维护
status字符串笔记状态,如「草稿」「进行中」「已完成」

Front Matter 中的字段名是区分大小写的。建议团队或项目中统一命名规范,避免 tagsTags 混用导致 Dataview 查询遗漏数据。

Front Matter 的核心价值在于配合 Dataview 插件使用——你可以像查询数据库一样,筛选出所有标签为「obsidian」且状态为「进行中」的笔记。


Markdown 语法速查表

元素语法快捷记忆
标题# H1 ## H2 ### H3井号 + 空格 + 文字
粗体**文字**双星号包裹
斜体*文字*单星号包裹
删除线~~文字~~双波浪线包裹
高亮==文字==双等号包裹(Obsidian 扩展)
行内代码`code`单反引号包裹
代码块```语言三反引号 + 语言名
引用> 文字大于号 + 空格
无序列表- 项目减号 + 空格
任务清单- [ ] 任务减号 + 空格 + 方括号
链接[文字](url)方括号 + 圆括号
图片![替代文字](url)感叹号 + 链接语法
内部链接[[笔记名]]双方括号(Obsidian 扩展)
表格| 列1 | 列2 |竖线分隔
分隔线---三个减号独占一行