Markdown 是一种轻量级标记语言,可以用纯文本格式就能写出结构清晰、排版美观的文档,最终可以转换成 HTML、PDF 等格式。它最大的特点是“易读易写”,纯文本本身就很干净,不需要像 HTML 那样使用复杂的标签。
一、Markdown
可以把它理解为一种格式化纯文本的语法。它用一些简单的符号(如#、*、-)来表示标题、列表、加粗等格式。这种语法被广泛用于 GitHub、技术文档、笔记软件(如 Obsidian、Notion)中。
二、核心语法
以下是 Markdown 最常用、最基础的语法,掌握这些就能应对 90% 的日常写作场景。
| 效果 | 语法 | 示例 |
|---|---|---|
| 标题 | #到######对应 H1 到 H6 | ## 二级标题 |
| 加粗 | **加粗文字** | **重要** |
| 斜体 | *斜体文字* | *强调* |
| 删除线 | ~~删除文字~~ | ~~旧内容~~ |
| 无序列表 | -、+或* | - 项目一 |
| 有序列表 | 数字. | 1. 第一步 |
| 链接 | [文本](URL) | [百度](https://baidu.com) |
| 图片 |  |  |
| 行内代码 | `代码` | `print("hello")` |
| 代码块 | ```语言+``` | 见下文 |
| 引用 | > | > 这是一段引用 |
| 分隔线 | ---或*** | --- |
| 表格 | |和-对齐 | 见下文 |
| 任务列表 | - [ ]和- [x] | - [x] 已完成 |
三、常见用法
1. 代码块
用于展示代码片段,可以指定语言以启用语法高亮:
```python def greet(name): return f"Hello, {name}"### 2. 表格 使用 `|` 分隔列,用 `-` 分隔表头和内容。可以通过 `:` 控制对齐(`:---` 左对齐,`:---:` 居中,`---:` 右对齐)。 ```markdown | 姓名 | 年龄 | 城市 | | :--- | :---: | ---: | | 张三 | 25 | 北京 | | 李四 | 30 | 上海 |注意:Markdown 的表格通常不支持单元格合并。
3. 任务列表(GitHub 风格)
- [x] 已完成的任务 - [ ] 待办任务 - [ ] 另一个待办4. 锚点链接
可以实现页面内的快速跳转。通常使用标题本身作为锚点,需要注意标题中的空格处理。
[跳转到结尾](#结尾) # 锚点通常由标题去掉空格生成 ## 结尾四、Markdown 编辑器推荐
| 工具 | 平台 | 特点 |
|---|---|---|
| VS Code | 全平台 | 配合插件 (如Markdown All in One) 体验极佳,功能强大 |
| Typora | 全平台 | 极简主义,所见即所得,适合写作 |
| Obsidian | 全平台 | 强大的双向链接知识管理工具 |
| Ulysses | macOS/iOS | 专为写作设计的应用,界面优雅 |
| 有道云笔记/Notion | 全平台 | 都支持 Markdown 语法 |
五、Markdown vs HTML vs Word
| 特性 | Markdown | HTML | Word |
|---|---|---|---|
| 学习成本 | 低 | 高 | 低 |
| 格式复杂度 | 有限 | 无限 | 丰富 |
| 纯文本可读性 | 优秀 | 差 | 无 |
| 版本控制友好 | 优秀 | 好 | 差 |
| 最终输出 | 需要转换 | 直接渲染 | 直接显示 |
| 适用场景 | 文档、笔记 | 网页开发 | 正式报告、简历 |
Markdown 的核心优势在于它的简洁性和可移植性,专注于内容本身。对于开发者来说,熟练掌握 Markdown 是必备技能,因为它在撰写README、技术文档、博客、甚至 AI 提示词时都无处不在。