Markdown 完整语法与写作优雅指南
前言
在互联网写作与技术文档开发领域,Markdown 已经成为了当之无愧的“通用语言”。它由约翰·格鲁伯(John Gruber)于 2004 年创建,是一种轻量级的标记语言。
许多人在接触 Markdown 之前,习惯于使用 Word 等富文本编辑器。然而,Word 文档在不同设备、不同软件之间经常会出现排版错乱的问题,且作者需要频繁分心去用鼠标点击加粗、调整字号和行距。
Markdown 的核心哲学是:内容与排版分离,让作者专注于写作本身。通过简单的纯文本标记,你可以在几秒钟内排版出一篇美观、结构清晰的文章,并且能无缝导出为 HTML、PDF、Word 或者直接发布到个人博客和 GitHub。
本文将带你从零开始,系统地掌握 Markdown 的所有常用语法,并深入探讨一些高级扩展特性和写作排版的美学规范。
一、Markdown 基础语法
基础语法是所有 Markdown 解析器都 100% 支持的核心规范。掌握这部分内容即可满足 90% 的日常写作需求。
1. 标题 (Headings)
Markdown 通过在行首添加 # 号来表示标题,# 的数量代表标题的级别,最多支持六级标题。
语法格式
1 | # 一级标题 (H1) |
实际效果
一级标题 (H1)
二级标题 (H2)
三级标题 (H3)
四级标题 (H4)
五级标题 (H5)
六级标题 (H6)
⚠️ 排版守则:
#与标题文本之间必须留有一个空格,否则部分解析器会将其视作普通文本或标签。- 在撰写文章或博客时,一级标题(H1)通常会被博客引擎自动分配给文章的“主标题”,因此在正文中建议从二级标题(H2)开始使用,以保证 SEO 结构的正确性。
2. 文本样式 (Emphasis)
通过简单的符号包裹,可以快速改变文字的视觉重点。
语法格式
1 | *这是斜体* 或 _这是斜体_ |
实际效果
- 这是斜体 (使用单星号包裹)
- 这是粗体 (使用双星号包裹)
- 这是粗斜体 (使用三星号包裹)
这是删除线(使用双波浪线包裹)
💡 排版守则:
包裹符号与内部文字之间不要留空格。例如,写成** 粗体 **会导致部分解析器无法正确渲染。如果需要在加粗文字两侧使用标点,标点应当放在包裹符号之外,例如:这是粗体。
3. 段落与换行 (Paragraphs & Line Breaks)
在 Markdown 中,普通的单回车换行在最终渲染时通常会被合并为一行(特别是在处理英文或代码段落时)。
换行规则
- 分段:两个段落之间需要空一行(即按两次回车)。
- 段内换行:在一行的末尾输入两个及以上的空格,然后按回车。
- 强制换行:在部分解析器不支持双空格时,可以直接插入 HTML 换行标签
<br>。
4. 列表 (Lists)
列表是整理信息的利器,支持无序、有序以及任务列表的嵌套。
(1) 无序列表
使用星号 *、减号 - 或加号 + 作为列表标记,效果完全相同。
语法格式
1 | - 苹果 |
实际效果
- 苹果
- 香蕉
- 橘子
(2) 有序列表
使用“数字 + 英文句点 + 空格”表示。
语法格式
1 | 1. 第一步:安装依赖 |
实际效果
- 第一步:安装依赖
- 第二步:修改配置
- 第三步:启动服务
💡 小技巧:即使你把列表的序号全部写成
1.(如1. A、1. B、1. C),解析器在渲染时也会自动按照1, 2, 3的递增顺序输出。这在调整列表顺序时非常方便。
(3) 列表嵌套
在子列表项前添加 4 个空格(或一个 Tab 键键入的缩进),即可实现多级嵌套列表。
语法格式
1 | 1. 编程语言 |
实际效果
- 编程语言
- 编译型
- C++
- Go
- 解释型
- Python
- JavaScript
- 编译型
- 标记语言
- HTML
- Markdown
(4) 任务列表 (GFM 扩展)
用于做 TODO 待办清单。[ ] 代表未完成,[x] 代表已完成(注意括号内要有空格)。
语法格式
1 | - [x] 完成 Markdown 基础语法学习 |
实际效果
- 完成 Markdown 基础语法学习
- 掌握 LaTeX 数学公式输入
- 独立撰写一篇优雅的排版文章
5. 区块引用 (Blockquotes)
用于引用他人的话、文章片段或特别标注提示信息。在行首添加大于号 > 即可。
语法格式
1 | > 这是一个普通的单行区块引用。 |
实际效果
这是一个普通的单行区块引用。
引用内部可以包含换行,也可以嵌套其他语法:
- 列表项一
- 链接
嵌套引用
使用多个 > 可以实现引用嵌套。
语法格式
1 | > 第一层引用 |
实际效果
第一层引用
第二层嵌套引用
第三层嵌套引用
6. 代码样式 (Code)
这是程序员最爱的功能,Markdown 对代码的支持极其完美。
(1) 行内代码 (Inline Code)
使用单个反引号 ` 包裹代码或专业术语。
语法格式
1 | 在 Python 中,我们使用 `print()` 函数输出内容,其核心模块是 `sys`。 |
实际效果
在 Python 中,我们使用 print() 函数输出内容,其核心模块是 sys。
💡 高阶技巧:如果行内代码中本身就包含反引号,该怎么办?
答:可以使用双反引号包裹,并在两端各留一个空格。例如:``code``会被渲染为`code`。
(2) 代码块 (Code Blocks)
使用三个反引号 ``` 包裹多行代码。在起始反引号后面写上编程语言名称(如 javascript、python、bash 等),可以开启语法高亮。
语法格式
1 | ```javascript |
实际效果
1 | function greet(name) { |
7. 链接与图片 (Links & Images)
链接与图片是网页最基本的元素,它们的语法非常相似,只差一个叹号 !。
(1) 超链接
语法为 [链接文本](链接地址 "可选的 Hover 提示标题")。
语法格式
1 | 欢迎访问我的 [个人博客](https://blog.iot2045.cn "七月小站")。 |
实际效果
欢迎访问我的 个人博客。
也可以直接使用自动链接:https://blog.iot2045.cn
(2) 引用式链接 (适合长文章)
当一篇文章多次出现相同的链接,或者你希望保持正文极其干净时,可以使用引用式链接。
语法格式
1 | 我经常使用 [Google][1] 进行搜索,偶尔也会使用 [Baidu][2]。 |
实际效果
我经常使用 Google 进行搜索,偶尔也会使用 Baidu。
(3) 插入图片
语法为 。替代文本 (Alt Text) 是在图片加载失败或无障碍屏幕阅读器读取时的内容,对 SEO 非常友好。
语法格式
1 |  |
实际效果
![]()
(4) 图片链接 (点击图片跳转)
将图片语法嵌套在超链接的方括号中。
语法格式
1 | [](https://blog.iot2045.cn) |
二、Markdown 进阶与扩展语法
以下语法属于 GitHub Flavored Markdown (GFM) 或各大主流编辑器(如 Typora、Obsidian、Hexo 渲染器)的扩展规范,能极大地提升排版上限。
1. 表格 (Tables)
表格用于展示结构化数据。使用竖线 | 划分列,使用短横线 - 划分表头与表体。
对齐方式
在分隔线 --- 的左侧、右侧或两侧添加冒号 :,可以改变对应列的对齐方式:
:---:左对齐(默认)---::右对齐:---::居中对齐
语法格式
1 | | 编号 | 姓名 | 角色定位 | 技能特色 | |
实际效果
| 编号 | 姓名 | 角色定位 | 技能特色 |
|---|---|---|---|
| 001 | 叶修 | 全职业散人 | 千机伞、龙抬头 |
| 002 | 苏沐橙 | 枪炮师 | 重火力牵制 |
| 003 | 喻文州 | 术士 | 战术心脏、手速极慢 |
💡 表格进阶技巧:
- 单元格内可以使用行内元素,例如 加粗、
行内代码和 超链接。- 如果单元格内需要换行,可以使用 HTML 换行标签
<br>。例如:第一行内容<br>第二行内容。
2. LaTeX 数学公式 (Math Formulas)
在学术写作、AI 算法分析及工科技术文档中,数学公式必不可少。Markdown 通过集成 KaTeX 或 MathJax 渲染器来支持 LaTeX 格式公式。
(1) 行内公式
使用单美元符号 $ 包裹公式。
语法格式
1 | 著名的质能方程是 $E = mc^2$,而欧拉恒等式则是 $e^{i\pi} + 1 = 0$。 |
实际效果
著名的质能方程是 $E = mc^2$,而欧拉恒等式则是 $e^{i\pi} + 1 = 0$。
(2) 块级公式
使用双美元符号 $$ 包裹公式,公式将独立成行并居中展示。
语法格式
1 | 正态分布(高斯分布)的概率密度函数公式如下: |
实际效果
正态分布(高斯分布)的概率密度函数公式如下:
$$f(x) = \frac{1}{\sigma\sqrt{2\pi}} e^{-\frac{1}{2}\left(\frac{x-\mu}{\sigma}\right)^2}$$
常用 LaTeX 符号速查表
为了方便你快速上手写公式,以下整理了最常用的数学符号表达法:
| 效果 | LaTeX 语法 | 说明 |
|---|---|---|
| $\sum_{i=1}^{n}$ | \sum_{i=1}^{n} |
求和公式 |
| $\int_{a}^{b}$ | \int_{a}^{b} |
定积分 |
| $\frac{a}{b}$ | \frac{a}{b} |
分数 |
| $\sqrt{x}$ | \sqrt{x} |
根号 |
| $\lim_{x \to \infty}$ | \lim_{x \to \infty} |
极限 |
| $\alpha, \beta, \pi$ | \alpha, \beta, \pi |
希腊字母 |
| $\ge, \le, \ne$ | \ge, \le, \ne |
比较运算符 |
3. 脚注 (Footnotes)
脚注用于对正文中的特定词汇进行注解,而不会干扰正文的正常阅读。
语法格式
1 | 这是一个使用了脚注[^1]的句子。 |
实际效果
这是一个使用了脚注^1的句子。
4. 上标与下标 (Subscript & Superscript)
部分扩展解析器支持使用波浪线 ~ 包裹表示下标,使用尖角号 ^ 包裹表示上标。
语法格式
1 | 水的化学式是 H~2~O。 |
实际效果
水的化学式是 H2O。
2^10^ 的计算结果是 1024。
💡 兼容性提示:部分基础 Markdown 解析器不支持该语法。如果发现页面上直接显示了符号,可以使用 HTML 的下标
<sub>和上标<sup>标签代替。例如:H<sub>2</sub>O。
5. 文本高亮 (Highlight)
用于将重点词句标黄高亮。
语法格式
1 | 这里需要 ==重点记忆== 的部分。 |
实际效果
这里需要 重点记忆 的部分。
6. HTML 标签混合嵌套 (高阶排版)
Markdown 完全兼容原生 HTML。当你觉得 Markdown 语法有些简陋,无法满足细致排版时,可以直接写 HTML。
(1) 调整图片大小及位置
Markdown 默认图片无法控制大小和居中。我们可以使用 HTML 的 <img> 标签结合 align 或样式实现。
语法格式
1 | <div align="center"> |
实际效果
图1:居中的 Markdown 标志
(2) 修改文字颜色、字号与字体
通过 <font> 标签可以实现极其丰富的视觉变化。
语法格式
1 | 我是 <font color="crimson">红色的文字</font>, |
实际效果
我是 红色的文字,
我是 蓝色且字号为4的文字,
我使用的是 微软雅黑字体。
(3) 折叠收纳面板 (details & summary)
常用于隐藏大段代码、答案解析或次要参考信息,点击可展开阅读。
语法格式
1 | <details> |
1 |
|
三、Markdown 写作美学与规范
“写得出”和“写得优雅”之间,差了一套完善的排版规范。以下是在中文技术写作圈被广泛推崇的最佳实践,能让你的文章瞬间变得专业、高级。
1. 盘古之白(中英文混排空隙)
在撰写文章时,中文与英文、数字、链接之间,应当加入一个半角空格。这能够极大提升长篇大论的可读性,避免视觉黏连。
- 错误示范:今天在GitHub上学习了Markdown的2^10^个技巧,感觉非常好用。
- 正确示范:今天在 GitHub 上学习了 Markdown 的 2^10^ 个技巧,感觉非常好用。
💡 如果你使用现代编辑器(如 VS Code)配合相关插件,或者使用 Hexo 的排版优化插件,它们通常会自动为你补全这些空格。但养成良好的书写习惯依然非常重要。
2. 标点符号规范
- 中文语境下,请使用全角标点符号(如
,。!?;:“”())。 - 英文或代码语境下,请使用半角标点符号(如
,.!?;:""())。 - 尤其需要注意:不要在中文句子里使用英文的逗号
,和句号.。
3. 空行原则 (非常重要)
为了避免各种解析器渲染出奇奇怪怪的错误,请遵循以下空行守则:
- 标题的前后都必须空一行。
- 列表、代码块、引用、表格、公式块的前后,都建议留出至少一个空行。
- 如果一个列表项内包含多个段落,段落之间需要缩进 4 个空格,并且有空行分隔。
4. 常见排版避坑指南
- 坑 1:列表符号后缺少空格。写成
-苹果会直接渲染成带有短横线的普通文字,一定要写成- 苹果。 - 坑 2:加粗斜体符号交叉嵌套。例如
**斜粗体*体*,符号没有对称闭合,会导致全局排版崩塌。 - 坑 3:URL 路径里带有特殊符号(如括号、空格)。此时如果使用
[链接](http://xx(yy).html)会被解析失败。解决方案:将 URL 进行 URL-encode 编码,或者使用引用式链接。
四、Markdown 优质工具推荐
一款顺手的工具能让写作事半功倍。
- Typora (五星推荐):
- 特点:所见即所得 (WYSIWYG) 实时渲染,排版极为优雅,支持一键导出各种格式。目前为收费软件,但极度物超所值。
- VS Code (程序员首选):
- 特点:配合插件
Markdown All in One、Markdown Preview Enhanced以及Linter,可以搭建出世界上最强大的 Markdown 写作与校验工作流。
- 特点:配合插件
- Obsidian (知识管理大师):
- 特点:基于纯文本 Markdown 的本地双链笔记软件,适合构建个人第二大脑和庞大的知识图谱。
- Notion (协同与美观兼备):
- 特点:虽然不是纯粹的 Markdown 编辑器,但其支持绝大多数 Markdown 快捷指令,卡片式块级排版非常适合团队协作。
结语
Markdown 的伟大之处在于它极其简单。你只需要花 20 分钟通读并练习本文的语法,就能掌握这项终身受用的技能。
在未来的写作、代码编写和文档创作中,让手指留在键盘上,让思绪在纯文本间流动。拿起你的编辑器,从写下第一篇 .md 日记开始,开启你的优雅写作之旅吧!
💡 “无他,唯手熟尔。” 快去新建一个文件,把本文的语法自己敲一遍试试看吧!