跳转至

10 分钟学会 Markdown

什么是 Markdown

Markdown 是一种轻量级标记语言:用很少的符号(#*- 等)就能写出标题、列表、链接、代码,最终再渲染成美观的网页或文档。

它的源文件就是普通的 .md 文本,用任何编辑器都能打开;GitHub、Notion、Obsidian、Typora 以及很多博客系统和本站的文档,都原生支持 Markdown。

你可以点击本文标题右侧的按钮去查看本文的 Markdown 源码。

为什么要学 Markdown

  1. 上手快:几分钟就能写出结构清晰的笔记,不用跟复杂排版软件较劲。
  2. 可读可写:源码本身也像正常文字,方便 diff、协作和版本管理(非常适合 Git)。
  3. 用途广:写 README、技术文档、作业报告、博客、提 Issue / PR 说明,几乎处处用得到。
  4. 招新必用:在之后的凌睿招新过程中,大家写笔记、交作业,一律使用 Markdown。尽早熟悉,后面会省很多时间。

下面用「源码 + 效果」对照,快速过一遍最常用的语法即可。现在许多编辑器还支持 Markdown 扩展语法(如表情、脚注、任务列表等),若你感兴趣可自行了解。

用 VS Code 预览 Markdown

写 Markdown 时,建议一边改源码、一边看渲染效果。VS Code 就自带预览,步骤如下:

  1. 打开文件:用 VS Code 打开任意 .md 文件(例如新建 notes.md,或打开本文的源码)
  2. 打开预览,任选一种方式:
    • 鼠标:编辑器右上角点 「打开预览」 图标(放大镜 / 分屏预览按钮)
    • 快捷键: Ctrl+Shift+V (macOS 为 Cmd+Shift+V
  3. 对照修改:源码一改,预览一般会自动刷新,不必先保存;保存只是把文件写到磁盘,和能不能预览无关

提示: VS Code 内置预览不支持部分扩展语法(如任务列表 - [ ]),可以询问 AI 什么插件可以补齐这部分。

格式化 Markdown(Prettier)

刚接触 Markdown 时容易出现空格、换行不一致。建议用 Prettier 自动统一格式,并打开 保存时格式化失焦自动保存,少操心排版。

1. 安装 Prettier 扩展

  • 点左侧边栏的 扩展 图标(四个小方块),或按 Ctrl+Shift+X(macOS 为 Cmd+Shift+X
  • 搜索 Prettier - Code formatter(发布者是 Prettier 的那个)
  • Install / 安装

2. 把 Prettier 设为默认格式化器

  • 点窗口 左下角齿轮Settings / 设置(也可以用快捷键 ++ctrl+,++ / ++cmd+,++)
  • 在顶部搜索框输入 default formatter
  • 找到 Editor: Default Formatter,下拉框选 Prettier - Code formatter

之后想手动格式化当前 .md 文件:按 Shift+Alt+F(macOS 多为 Shift+Option+F),或右键编辑区选 Format Document / 格式化文档

3. 保存时自动格式化(Format on Save)

每次保存文件时,让 Prettier 自动帮你排好版:

  • 同样打开左下角齿轮 → Settings / 设置
  • 搜索 format on save
  • 勾选 Editor: Format On Save

4. 失焦时自动保存

「失焦」指你点到别的窗口、标签页时,当前文件会自动保存。配合上一步,就等于「点到别处 → 自动保存 → 顺带格式化」。

  • 同样打开左下角齿轮 → Settings / 设置
  • 搜索 auto save
  • 找到 Files: Auto Save,下拉框选 onFocusChange(失去焦点时保存)

配好后:写 Markdown → 点到别处自动保存并格式化;预览本身不用等保存。

标题

源码:

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

效果:

二级标题

三级标题

四级标题

五级标题
六级标题

文本格式

源码:

**粗体文字**
*斜体文字*
***粗斜体***
~~删除线~~
`行内代码`

效果:

粗体文字 斜体文字 粗斜体 删除线 行内代码

链接与图片

源码:

[凌睿工作室](https://lingrui.club)
[带标题的链接](https://lingrui.club "悬停显示的标题")
![替代文字](https://placehold.co/200x100)
![带标题的图片](https://placehold.co/200x100 "图片标题")

效果:

凌睿工作室 带标题的链接 替代文字 带标题的图片

列表

源码:

无序列表:

- 项目 1
- 项目 2
  - 嵌套项目

有序列表:

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

效果:

无序列表:

  • 项目 1
  • 项目 2
  • 嵌套项目

有序列表:

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

引用

源码:

> 这是一段引用
> 可以写多行
>> 嵌套引用

效果:

这是一段引用 可以写多行

嵌套引用

代码块

源码:

```javascript
function hello() {
  console.log("Hello, world!");
}
```

效果:

function hello() {
  console.log("Hello, world!");
}

表格

源码:

| 表头 1 | 表头 2 | 表头 3 |
|--------|--------|--------|
| 第一行 | 数据   | 数据   |
| 第二行 | 数据   | 数据   |

效果:

表头 1 表头 2 表头 3
第一行 数据 数据
第二行 数据 数据

公式(数学)

原始 Markdown 不包含公式语法;但很多平台包括 VS Code 都是支持 Latex 语法的。下面介绍两种常用的公式写法。

行内公式

用一对 $...$ 包起来,公式会嵌在句子中间。

源码:

序列的第 $i$ 项记作 $a_i$,满足 $a_{n+1} = a_n + d$。

效果:

序列的第 \(i\) 项记作 \(a_i\),满足 \(a_{n+1} = a_n + d\)

行间公式(独立成行)

用一对 $$...$$(单独成行)包起来,公式会居中、单独占一行。

源码:

$$
\sum_{i=1}^{n} a_i = \frac{n(n+1)}{2}
$$

效果:

\[ \sum_{i=1}^{n} a_i = \frac{n(n+1)}{2} \]

分割线

源码:

---
***
___

效果:


转义字符

特殊字符(如 *_#` 等)在 Markdown 中有特殊含义,如果想显示它们本身,需要用反斜杠 \ 转义。

源码:

用反斜杠转义特殊字符:\* \_ \# \`

效果:

用反斜杠转义特殊字符:* _ # `

换行

源码:

行末加两个空格  
即可强制换行。

空一行则会开始新段落。

效果:

行末加两个空格
即可强制换行。

空一行则会开始新段落。