嘿,朋友!如果你是第一次接触 Markdown,或者用过很久但总觉得“好像哪里不对劲”,那这篇就是为你准备的。别被“语法”两个字吓跑,Markdown 其实特别像你在微信里打字时那些加粗、斜体的直觉,只是它把规则写得更严谨、更通用罢了。
咱们不整那些虚头巴脑的“什么是 Markdown”,直接上手。我会带你从最基础的字符,一路讲到那些让你排版起飞的高级技巧。准备好了吗?
1. 那些最常用、最熟悉的“老朋友”
我们每天都在用 Markdown,只是可能没意识到。比如你在 Reddit、GitHub、甚至很多论坛里看到的那个 **粗体** 效果。
标题:从大到小,简单粗暴
在 Markdown 里,标题不需要你选字号大小,只需要在行首加 # 号。# 越多,标题越小。
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
渲染出来的效果大概是这样的层级感。你可以想象成写作文时的大标题、小标题,或者做 PPT 时的章节页。不用纠结像素是多少,Markdown 帮你处理好了。
段落与换行:空行是灵魂
段落之间空一行,这是 Markdown 最核心的“节奏感”。如果你连续输入文字,它会默认合成一个大段落。
这是第一段。
这是第二段。
注意看,中间空了一行。如果你在编辑器里直接按回车键(Enter),在某些渲染器里可能只是软换行,不会真正断开段落。想要真正的段落断开,必须空一行。
关于换行,如果你只想在段内换行,不换段落,可以在行尾加两个空格,然后按回车。或者,在行尾加上 <br> 标签,这在某些严格的解析器里更稳妥。
强调:加粗和斜体
这是使用频率最高的技巧。
- 加粗:用两个星号包裹文字
**文字**或__文字__。 - 斜体:用一个星号包裹文字
*文字*或_文字_。 - 粗斜体:用三个星号
***文字***或___文字___。
这是**加粗**的文字。
这是*斜体*的文字。
这是***粗斜体***的文字。
删除线:改错或者标记过时信息
有时候你需要划掉一段文字,表示“这个已经不对了”或者“这是修改前的版本”。
~~被删除的文字~~
渲染后,文字中间会有一条横线穿过。这个在代码提交记录(Commit Message)里特别常用,比如“修正 bug A 引发的崩溃”。
2. 列表:让信息有条理
无序列表和有序列表是组织信息的利器。
无序列表:用符号“说话”
只要在一行开头加个 -、+ 或 *,后面跟一个空格,就变成了无序列表项。
- 苹果
- 香蕉
- 橙子
或者:
+ 第一项
+ 第二项
渲染效果都是一样的,三个小圆点。你会发现,用 - 是最常见的,因为键盘上它就在 Shift 下面,顺手。
有序列表:数字自动递增
如果你需要按顺序说明步骤,用数字加点:
1. 先打开冰箱
2. 再把大象放进去
3. 最后关上冰箱
Markdown 会自动帮你处理好编号,你不需要担心写成 1. 2. 3. 还是 1. 3. 5.,渲染器会智能地按顺序显示 1, 2, 3…
嵌套列表:层级分明
列表可以套列表。只要在子列表前多缩进两个空格(或者一个 Tab),它就会自动变成子项。
- 前端技术
- HTML
- CSS
- JavaScript
- 后端技术
- Python
- Java
你看,缩进产生了视觉上的层级,阅读起来非常清晰。
3. 代码与引用:让内容“突出”或“安静”
行内代码:强调术语或命令
当你想提到某个变量名、函数名、或者一段命令行代码时,用反引号(`)包裹。
请在终端输入 `npm install` 来安装依赖。
渲染后,npm install 会以等宽字体显示,背景通常有点颜色,一眼就能看出来这是代码。
代码块:大段代码的归宿
如果代码超过三行,或者你需要保留代码的格式(比如 Python 的缩进),那就用代码块。
```javascript
function hello() {
console.log("Hello, World!");
}
注意,代码块要用三个反引号(```)包裹,并且在第一行可以加上编程语言名称,这样大多数渲染器会为你进行**语法高亮**。
上面的例子我写了 `javascript`,渲染后,关键字、字符串、函数名都会有不同的颜色。这比纯文本代码好看太多了。常用的语言标识符还有 `python`, `java`, `cpp`, `html`, `css`, `json`, `bash` 等等。
### 引用:让文字“退后”一步
引用用大于号 `>` 开头。它可以帮你把一段话从正文中分离出来,表示“这是引用的内容”或者“这是一段注释”。
```markdown
> 这是一段引用文字。
> 它可以跨越多行。
渲染效果通常是左边有一条竖线,字体颜色可能略浅。这在博客文章中用来插入名人名言或者补充说明非常合适。
你甚至可以嵌套引用:
> 这是外层引用。
>> 这是内层引用。
4. 链接与图片:内容的“血肉”
这是 Markdown 最强大的地方之一,因为它让非技术用户也能轻松插入多媒体和超链接。
链接:两种写法
写法一:直接写在括号里。
[访问 Sapiens AI](https://www.sapiens.ai)
写法二:先定义链接,再使用引用。这在文章很长、链接要复用时特别方便。
这是访问 [Sapiens AI][1] 的链接。
[1]: https://www.sapiens.ai "Sapiens AI 官网"
两种写法渲染出来一模一样。推荐写法一用于简单链接,写法二用于需要重复引用同一个长链接的情况。
图片:和链接长得一样
图片的语法和链接几乎一模一样,只是前面多了一个感叹号 !。

替代文字 很重要,它是给屏幕阅读器(辅助盲人用户)听的,也是当图片加载失败时显示的文字。务必写好它!
5. 表格:结构化的数据
表格在 Markdown 里稍微有点“特殊”,因为它用字符画出来。但一旦掌握,效率极高。
| 名字 | 年龄 | 职业 |
| :----- | :--: | -------: |
| 张三 | 25 | 工程师 |
| 李四 | 30 | 设计师 |
| 王五 | 28 | 产品经理 |
注意中间那行分隔线。冒号 : 的位置控制对齐方式:
:-----左对齐(默认):--:居中-----:右对齐
在上面的例子里,“名字”左对齐,“年龄”居中,“职业”右对齐。虽然表格在纯文本里看起来有点乱,但渲染后非常整齐美观。
6. 分隔线:视觉上的“休止符”
当你想在一篇文章中划分大块内容,或者给读者一个视觉上的停顿,用分隔线。
只需连续输入三个或以上的 -、_ 或 *。
---
或者
***
渲染出来就是一条贯穿页面的横线。
7. 高级玩法:让 Markdown 更强大
这里我们进入“进阶领域”。不同平台对 Markdown 的支持程度不同,但以下这些是广泛兼容且非常实用的。
任务列表:TODO 清单
- [ ] 完成报告初稿
- [x] 发送会议纪要
- [ ] 预约下周会议
你看,[ ] 是未勾选,[x] 是已勾选。在很多支持 GitHub Flavored Markdown 的平台(如 GitHub、Notion、飞书文档),这可以直接交互,点击复选框就能切换状态。这对于写待办事项、项目进度跟踪太方便了。
脚注:优雅地补充说明
有时候你不想打断正文,但又想加个备注。脚注就派上用场了。
这是正文内容[^1]。
[^1]: 这是脚注的内容。可以很长,也可以很短。
渲染后,正文中的 [^1] 会变成一个上标数字,点击或者鼠标悬停可以看到脚注内容。这比直接在括号里写长串解释要优雅得多。
转义字符:当符号本身需要显示时
如果你想在文章里显示一个星号 *,但它又不想变成斜体标记,怎么办?
用反斜杠 \ 来转义。
\*这不是斜体\*
\# 这不是标题
渲染后,你会看到原样的 *这不是斜体* 和 # 这不是标题。当你需要展示 Markdown 语法本身时,这个技巧必用。
HTML 标签:最后的“后门”
这是很多人不知道的终极武器。绝大多数 Markdown 解析器都允许你直接使用 HTML 标签。这意味着,当 Markdown 的语法不够用时,HTML 可以救场。
比如,Markdown 没有原生的“字体颜色”语法,但你可以:
<span style="color: red;">这段文字是红色的</span>
再比如,你想强制不换行,或者插入一个 iframe 视频:
<iframe width="560" height="315" src="https://www.youtube.com/embed/dQw4w9WgXcQ" frameborder="0" allowfullscreen></iframe>
注意:虽然 HTML 很强大,但要谨慎使用。过度使用 HTML 会让 Markdown 文件变得难以阅读和维护,失去 Markdown “易读易写”的初衷。只有在 Markdown 确实无法满足需求时,才考虑使用 HTML。
8. 常见误区与最佳实践
误区一:Markdown 就是 GitHub 的专利
错。Markdown 是一种通用的标记语言,由 John Gruber 在 2004 年创造。它被成千上万的应用支持,包括微信(部分格式)、知乎、Notion、语雀、Obsidian、VS Code 等等。你学的是“一种语言”,而不是“一个工具”。
误区二:必须用专门的编辑器
不一定。你可以用任何文本编辑器写 Markdown,然后保存为 .md 文件。当然,如果你需要实时预览,推荐使用 VS Code(配合 Markdown 预览插件)、Typora(所见即所得)、或者 Mac 上的 Obsidian。但这些工具只是为了方便你,核心语法在任何地方都一样。
最佳实践:保持简洁
- 多用空行:这能让你的源文件更易读,也避免渲染意外。
- 统一符号:列表用
-还是*?建议全文统一。标题用#还是##?保持一致。 - 不要过度嵌套:虽然列表可以套列表,但超过三层就很难读了。如果层级太深,考虑拆分段落或使用表格。
- 图片加 alt 文本:永远不要省略图片的替代文字,这关乎无障碍访问,也关乎 SEO(搜索引擎优化)。
9. 快速对照表:随身携带
最后,送你一张速查表,建议收藏起来,写的时候随时翻看。
| 需求 | 语法 | 示例 |
|---|---|---|
| 一级标题 | # |
# 标题 |
| 加粗 | ** ** |
**加粗** |
| 斜体 | * * |
*斜体* |
| 删除线 | ~~ ~~ |
~~删除~~ |
| 行内代码 | ` ` |
`code` |
| 代码块 | 见上方代码块示例 | |
| 无序列表 | - |
- 项目 |
| 有序列表 | 1. |
1. 第一项 |
| 引用 | > |
> 引用内容 |
| 链接 | [文字](链接) |
[百度](https://baidu.com) |
| 图片 |  |
 |
| 表格 | | col1 | col2 | |
见上方表格示例 |
| 任务列表 | - [ ] |
- [ ] 待办 |
| 分隔线 | --- |
--- |
| 脚注 | [^1] |
内容[^1],[^1]: 注释 |
写到这里,我相信你对 Markdown 已经有了一个全面且深入的理解。它不是魔法,只是一套简单的规则。掌握了这些规则,你就能在任何支持 Markdown 的地方,快速、清晰地表达你的思想。
现在,打开你最喜欢的编辑器,试试写下你的第一篇文章吧!如果有哪个符号记不住,随时回来翻翻这篇指南。祝你写得愉快!
