Markdown 完全指南

简洁高效的文本标记语言,让写作更专注于内容本身

开始学习

什么是 Markdown?

Markdown 是由约翰·格鲁伯(John Gruber)于 2004 年设计的轻量级标记语言,它允许用户用简单直观的文本符号,快速格式化文档内容,无需依赖复杂的排版工具(如 Word 的按钮操作)。

设计理念

Markdown 的设计目标是让文档"易于阅读、易于撰写"。它使用的标记符号非常少,而且这些符号都具有直观的含义,不会干扰阅读体验。

核心优势

  • 纯文本编写,兼容所有文本编辑器
  • 标记符号简洁易懂,学习成本极低
  • 可轻松转换为多种格式(HTML、PDF等)
  • 广泛应用于各类平台和场景

为什么选择 Markdown?

在这个信息爆炸的时代,我们每天都需要处理大量文本内容。无论是写博客、记笔记、编写文档还是在社交平台分享想法,Markdown 都能帮助我们更高效地完成这些工作。它让我们从繁琐的格式调整中解放出来,专注于内容创作本身。

如今,Markdown 已被广泛应用于 GitHub、GitLab、知乎、掘金、Notion 等平台,成为程序员、内容创作者和知识工作者的必备技能。

核心语法速查表

以下是日常使用中 90% 场景会用到的语法,建议收藏备用。

标题

# 符号表示, # 数量对应标题层级(1-6 级), # 后需加空格。

语法 效果
# 一级标题

一级标题

## 二级标题

二级标题

### 三级标题

三级标题

###### 六级标题
六级标题

文本样式

通过简单符号实现加粗、斜体、删除线等效果,支持组合使用。

语法 效果 说明
**加粗文本** 加粗文本 前后各两个星号
*斜体文本* 斜体文本 前后各一个星号
***粗斜体文本*** 粗斜体文本 前后各三个星号
~~删除线文本~~ 删除线文本 前后各两个波浪线
==高亮文本== 高亮文本 部分平台(如掘金)支持

列表

分为无序列表和有序列表,支持嵌套使用(嵌套时需缩进 2-4 个空格或 1 个 Tab)。

无序列表

-+* 开头,符号后加空格:

- 第一点
  - 子点 1
  - 子点 2
+ 第二点
* 第三点

效果:

  • 第一点
    • 子点 1
    • 子点 2
  • 第二点
  • 第三点

有序列表

用「数字 + 小数点」开头,符号后加空格:

1. 第一步
   1.1 子步骤 A(部分平台支持)
   2. 子步骤 B(序号不影响显示,按顺序渲染)
2. 第二步

效果:

  1. 第一步
    1. 子步骤 A
    2. 子步骤 B
  2. 第二步

链接与图片

链接

基础语法:[链接文本](链接地址 "可选标题")(鼠标 hover 时显示标题)

- 普通链接:[Markdown 官网](https://daringfireball.net/projects/markdown/ "Markdown Official Site")
- 锚点链接(跳转到本文标题):[回到顶部](#markdown-完全指南-简洁高效的文本标记语言)

效果:

图片

语法与链接类似,仅在开头多一个 !![图片加载失败时的提示文字](图片地址 "可选标题")

![Markdown Logo](https://picsum.photos/400/200?text=Markdown+Logo "Markdown 标志")

效果:

Markdown 标志

引用

> 开头表示引用,支持嵌套(多组 >)和搭配其他语法。

> 这是一级引用
> > 这是二级引用(嵌套)
> 
> 引用中可包含 **加粗**、*斜体* 等样式
> - 也可包含列表

效果:

这是一级引用
这是二级引用(嵌套)

引用中可包含 加粗斜体 等样式

  • 也可包含列表

代码块

用于展示代码,支持指定编程语言实现语法高亮。

行内代码

`(反引号,键盘左上角 Esc 下方)包裹:

在终端输入 `npm install markdown` 安装依赖

效果:

在终端输入 npm install markdown 安装依赖

多行代码块

用三组 ` 包裹,开头可指定语言:

```javascript
// 这是 JavaScript 代码示例
function helloMarkdown() {
  console.log("Hello, Markdown!");
}
helloMarkdown();                

效果:

// 这是 JavaScript 代码示例
function helloMarkdown() {
  console.log("Hello, Markdown!");
}
helloMarkdown();

表格

| 分隔列,- 分隔表头与内容,: 可设置对齐方式(可选)。

| 姓名 | 年龄 | 职业 |
|------|:----:|-----:|
| 张三 | 25   | 程序员 |
| 李四 | 30   | 设计师 |

说明:

  • :---- 左对齐
  • :---: 居中对齐
  • ----: 右对齐
  • 表头下方的 - 至少 1 个,多写不影响

效果:

姓名 年龄 职业
张三 25 程序员
李四 30 设计师

分割线

用至少 3 个 -*_ 单独一行表示,前后建议空行。

文本上方
---
文本中间
***
文本下方

效果:

文本上方


文本中间


文本下方

进阶用法

任务列表

- [ ] 表示未完成,- [x] 表示已完成(部分平台支持)。

- [x] 学习 Markdown 基础语法
- [ ] 练习表格与代码块
- [ ] 掌握进阶用法

效果:

  • 学习 Markdown 基础语法
  • 练习表格与代码块
  • 掌握进阶用法

脚注

用于添加补充说明,语法:文本[^脚注标识] + 底部 [^脚注标识]: 脚注内容

Markdown 由约翰·格鲁伯设计[^1],现已成为最流行的轻量级标记语言[^2]。

[^1]: John Gruber,同时也是知名技术博客 Daring Fireball 的作者。
[^2]: 广泛应用于文档、笔记、代码仓库等场景。

效果:

Markdown 由约翰·格鲁伯设计1,现已成为最流行的轻量级标记语言2

  1. John Gruber,同时也是知名技术博客 Daring Fireball 的作者。

  2. 广泛应用于文档、笔记、代码仓库等场景。

数学公式(LaTeX)

部分平台(如 GitHub、掘金、Typora)支持通过 LaTeX 语法插入数学公式,用 $ 包裹行内公式,$$ 包裹块级公式。

- 行内公式:勾股定理 $a^2 + b^2 = c^2$
- 块级公式:
$$
f(x) = \frac{1}{\sqrt{2\pi}\sigma} e^{-\frac{(x-\mu)^2}{2\sigma^2}}
$$

效果:

  • 行内公式:勾股定理 \(a^2 + b^2 = c^2\)
  • 块级公式: \[ f(x) = \frac{1}{\sqrt{2\pi}\sigma} e^{-\frac{(x-\mu)^2}{2\sigma^2}} \]

实用工具推荐

掌握语法后,合适的工具能大幅提升效率:

Typora

极简主义的 Markdown 编辑器,支持实时预览,界面简洁美观,所见即所得。

桌面端 实时预览 跨平台
了解更多

VS Code

强大的代码编辑器,通过插件支持 Markdown 预览、语法高亮和导出功能。

编辑器 插件丰富 免费
了解更多

Dillinger

在线 Markdown 编辑器,支持实时预览,可与 Dropbox、GitHub 等同步。

在线工具 云端同步 免费
了解更多

Markdown Here

浏览器插件,可在邮件、社交媒体等输入框中使用 Markdown 格式化文本。

浏览器插件 多平台 免费
了解更多

Pandoc

强大的文档转换工具,支持 Markdown 与 HTML、PDF、Word 等多种格式互转。

转换工具 命令行 开源
了解更多

Notion

全能型笔记工具,内置 Markdown 支持,适合知识管理、项目协作等场景。

笔记工具 协作 跨平台
了解更多