一文吃透 Markdown:从入门到精通的实用指南
在数字化写作的浪潮中,Markdown(简称 MD)早已成为程序员、内容创作者、学生的 “写作利器”。它无需复杂的排版操作,用简单符号就能实现清晰的格式,且跨平台兼容性极强 —— 从 GitHub 仓库的 README 到微信公众号文章,从 Notion 笔记到 PPT 制作,都能看到它的身影。今天,我们就从基础到进阶,带你彻底掌握 MD 的使用方法。
一、为什么选择 Markdown?
在学习语法前,先搞懂 “为什么要用”:
-
易读易写:纯文本格式,无需依赖特定软件,用记事本就能编辑,语法符号直观(比如
#
代表标题); -
跨平台兼容:写完的 MD 文件可在 Typora、VS Code、GitHub、微信读书等工具中无缝打开,格式不变;
-
轻量化高效:避免 Word 等软件的 “格式纠缠”,专注内容本身,尤其适合写技术文档、博客、笔记;
-
可转换性强:能轻松导出为 PDF、HTML、Word、PPT 等格式,满足不同场景需求。
二、Markdown 基础语法(必学!)
基础语法是 MD 的核心,掌握这些就能应对 80% 的写作场景,每个语法都附 “代码 + 效果” 示例:
1. 标题(1-6 级)
用#
开头,#
数量越多,标题级别越低(1 级标题最大,6 级最小),注意#
后加空格。
\# 1级标题(文章大标题)
\## 2级标题(章节标题)
\### 3级标题(小节标题)
\#### 4级标题
\##### 5级标题
\###### 6级标题
效果:
1 级标题(文章大标题)
2 级标题(章节标题)
3 级标题(小节标题)
4 级标题
5 级标题
6 级标题
2. 段落与换行
-
段落:直接写文字即可,段落间用 “空一行” 分隔(如果不换行,文字会连在一起);
-
强制换行:在需要换行的地方加
2个空格+回车
(适合短行分隔,比如诗歌、列表补充说明)。
示例:
这是第一段内容,不需要加任何符号,直接写。
这是第二段内容,和第一段之间空了一行,所以会自动分段。
这行文字需要换行,所以在末尾加了两个空格 (看这里→)
换行后的内容在这里。
效果:
这是第一段内容,不需要加任何符号,直接写。
这是第二段内容,和第一段之间空了一行,所以会自动分段。
这行文字需要换行,所以在末尾加了两个空格 (看这里→)
换行后的内容在这里。
3. 文字强调(加粗、斜体、删除线)
三种常用强调方式,符号可嵌套使用:
\# 斜体:文字前后加1个\*或\_
\*这是斜体\*
\_这也是斜体\_
\# 加粗:文字前后加2个\*或\_
\*\*这是加粗\*\*
\_\_这也是加粗\_\_
\# 加粗+斜体:文字前后加3个\*或\_
\*\*\*这是加粗+斜体\*\*\*
\_\_\_这也是加粗+斜体\_\_\_
\# 删除线:文字前后加2个\~
\~\~这是被删除的文字\~\~
效果:
斜体:文字前后加 1 个 * 或_
这是斜体
这也是斜体
加粗:文字前后加 2 个 * 或_
这是加粗
这也是加粗
加粗 + 斜体:文字前后加 3 个 * 或_
这是加粗 + 斜体
这也是加粗 + 斜体
删除线:文字前后加 2 个~
这是被删除的文字
4. 列表(有序列表、无序列表)
列表是整理信息的常用格式,支持嵌套(比如列表里套列表)。
(1)无序列表
用-
、*
、+
开头(三者效果一致),符号后加空格,适合 “无先后顺序” 的内容(比如购物清单、要点)。
\- 无序列表项1(用-开头)
\- 无序列表项2
\- 嵌套无序列表(前面加2个空格)
\- 嵌套无序列表
\* 无序列表项3(用\*开头)
\+ 无序列表项4(用+开头)
效果:
-
无序列表项 1(用 - 开头)
-
无序列表项 2
-
嵌套无序列表(前面加 2 个空格)
-
嵌套无序列表
-
-
无序列表项 3(用 * 开头)
-
无序列表项 4(用 + 开头)
(2)有序列表
用 “数字 +.” 开头,符号后加空格,适合 “有先后顺序” 的内容(比如步骤、排名)。
1\. 第一步:打开MD编辑器
2\. 第二步:输入基础语法
1\. 子步骤1:写标题
2\. 子步骤2:写段落
3\. 第三步:导出文件
效果:
-
第一步:打开 MD 编辑器
-
第二步:输入基础语法
-
子步骤 1:写标题
-
子步骤 2:写段落
-
-
第三步:导出文件
5. 链接(文字链接、图片链接)
链接是 MD 中 “连接外部内容” 的关键,分为 “文字链接”(点击文字跳转)和 “图片链接”(显示图片)。
(1)文字链接
语法:[链接显示文字](链接地址 "可选的链接标题")
(鼠标 hover 链接时会显示 “链接标题”)。
\# 普通链接
\[去GitHub学习MD]\(https://github.com/adam-p/markdown-here "GitHub MD指南")
\# 本地文件链接(链接电脑里的文件)
\[打开我的笔记]\(./我的MD笔记.md)(./代表当前文件夹)
效果:
普通链接
本地文件链接(链接电脑里的文件)
(2)图片链接
语法:
(比文字链接多了一个!
)。
\# 网络图片(用图片URL)
!\[Markdown Logo]\(https://markdown-here.com/img/icon256.png "Markdown图标")
\# 本地图片(用电脑里的图片路径)
!\[我的截图]\(./截图1.png)
效果:
网络图片(用图片 URL)
本地图片(用电脑里的图片路径)
6. 引用(块引用)
用>
开头,适合引用别人的话、文献内容或重要提示,支持嵌套引用。
\> 这是一级引用(比如引用某本书的话)
\> > 这是嵌套引用(比如对引用内容的补充说明)
\> 引用结束后,空一行即可回到正常段落。
效果:
这是一级引用(比如引用某本书的话)
这是嵌套引用(比如对引用内容的补充说明)
引用结束后,空一行即可回到正常段落。
7. 代码块(程序员必学)
写技术文档时经常需要展示代码,MD 支持 “行内代码” 和 “多行代码块”。
(1)行内代码
用1个反引号
包裹代码(反引号在键盘ESC
键下方),适合嵌入句子中的短代码。
在Python中,用\`print("Hello World")\`可以输出文字。
效果:
在 Python 中,用print("Hello World")
可以输出文字。
(2)多行代码块
用3个反引号
包裹代码,且在开头的反引号后可指定代码语言(比如python
、java
),会自动语法高亮,非常直观。
\`\`\`python
\# 这是Python多行代码块(指定了语言,会语法高亮)
def add(a, b):
return a + b
result = add(1, 2)
print(result) # 输出3
效果:
\`\`\`python
\# 这是Python多行代码块(指定了语言,会语法高亮)
def add(a, b):
return a + b
result = add(1, 2)
print(result) # 输出3
8. 表格
用|
分隔列,-
分隔表头和内容,适合展示结构化数据(比如对比表、统计数据),:
可用于对齐(左对齐、居中、右对齐)。
\# 基础表格(无对齐)
\| 姓名 | 年龄 | 职业 |
\| --- | --- | --- |
\| 张三 | 25 | 程序员 |
\| 李四 | 30 | 产品经理 |
\# 带对齐的表格(:在---左侧=左对齐,两侧=居中,右侧=右对齐)
\| 姓名 | 年龄 | 职业 |
\| :--- | :---: | ---: |
\| 张三 | 25 | 程序员 |
\| 李四 | 30 | 产品经理 |
效果:
基础表格(无对齐)
姓名 | 年龄 | 职业 |
---|---|---|
张三 | 25 | 程序员 |
李四 | 30 | 产品经理 |
带对齐的表格(: 在 — 左侧 = 左对齐,两侧 = 居中,右侧 = 右对齐)
姓名 | 年龄 | 职业 |
---|---|---|
张三 | 25 | 程序员 |
李四 | 30 | 产品经理 |
9. 分割线
用3个及以上的-
、*
或_
(单独一行,前后空行),适合分割不同章节或内容块。
这是分割线前的内容
\---
\*\*\*
\_\_\_
这是分割线后的内容
效果:
这是分割线前的内容
这是分割线后的内容
三、Markdown 进阶技巧(提升效率)
掌握基础后,这些进阶技巧能让你的 MD 写作更高效:
1. 任务列表(待办清单)
用- [ ]
表示未完成,- [x]
表示已完成([ ]
里的空格不能少),适合做计划、待办事项。
\- \[x] 学习MD基础语法
\- \[x] 练习代码块使用
\- \[ ] 导出MD为PDF
\- \[ ] 写一篇MD博客
效果:
学习 MD 基础语法
练习代码块使用
导出 MD 为 PDF
写一篇 MD 博客
2. 脚注(补充说明)
用[^脚注标识]
标记引用位置,在文末用[^脚注标识]: 脚注内容
定义脚注,适合添加参考文献、额外解释(避免正文冗长)。
Markdown的语法最早由John Gruber提出\[^1],现在已成为行业通用格式\[^2]。
\[^1]: John Gruber是美国程序员,2004年与Aaron Swartz共同设计了Markdown。
\[^2]: 许多平台如GitHub、GitLab、Notion都原生支持Markdown。
效果:
Markdown 的语法最早由 John Gruber 提出 [^1],现在已成为行业通用格式 [^2]。
[^1]: John Gruber 是美国程序员,2004 年与 Aaron Swartz 共同设计了 Markdown。
[^2]: 许多平台如 GitHub、GitLab、Notion 都原生支持 Markdown。
3. 目录生成(自动导航)
在需要生成目录的地方写[TOC]
(Table of Contents),支持的编辑器(如 Typora、VS Code)会自动根据标题生成目录,且点击目录可跳转。
\[TOC]
\# 1级标题
\## 2级标题
\### 3级标题
效果(以 Typora 为例):会生成一个包含所有标题的列表,点击 “2 级标题” 直接跳转到对应位置。
4. 表情符号(Emoji)
在文字中插入 Emoji 能让内容更生动,语法::emoji名称:
(需编辑器支持,如 GitHub、Typora)。
常用 Emoji 示例:
:smile: → 😄
:warning: → ⚠️
:check: → ✅
:computer: → 💻
:book: → 📚
效果:
😄 → 😄
⚠️ → ⚠️
:check: → ✅
💻 → 💻
📖 → 📚
5. 兼容性注意事项
不同 MD 编辑器对语法的支持有差异,比如:
-
脚注、任务列表在部分轻量编辑器(如记事本 + MD 插件)中可能不显示;
-
表情符号在 GitHub 中支持完善,但在微信公众号中需手动插入图片 Emoji;
-
表格的对齐方式在少数工具中可能失效(建议用基础表格,优先保证兼容性)。
四、推荐 Markdown 工具(新手友好)
选对工具能让 MD 写作事半功倍,推荐 3 类常用工具:
1. 桌面编辑器(本地写作)
-
Typora:新手首选!实时预览(写的时候直接看到效果,无需切换),支持导出 PDF/Word/HTML,界面简洁无广告(免费版已停止更新,可选择旧版或付费版);
-
VS Code:适合程序员!需安装 “Markdown All in One” 插件,支持语法高亮、目录生成、代码块高亮,可结合 Git 进行版本控制;
-
MarkText:开源免费,功能类似 Typora,支持深色模式,适合喜欢开源工具的用户。
2. 在线工具(跨设备同步)
-
StackEdit:在线 MD 编辑器,支持云端保存(关联 Google Drive/Dropbox),可直接同步到 GitHub,适合多设备切换写作;
-
语雀:阿里旗下的在线文档工具,原生支持 MD,适合团队协作(比如写技术文档、知识库);
-
Notion:全能笔记工具,支持 MD 语法,可插入表格、数据库、图片,适合个人整理笔记(免费版足够用)。
3. 转换工具(导出格式)
-
Pandoc:强大的格式转换工具,可将 MD 导出为 PDF、Word、PPT、EPUB 等(需简单命令行操作,适合进阶用户);
-
Zamzar:在线转换工具,上传 MD 文件后选择导出格式(如 PDF),无需安装软件(免费版有文件大小限制)。
五、实战案例:用 MD 写一篇技术笔记
光说不练假把式,这里用 “Python 基础笔记” 为例,展示 MD 语法的实际应用:
\# Python基础笔记(Day1)
\## 1. 变量定义
\- 变量名只能包含字母、数字、下划线,且不能以数字开头;
\- 常用数据类型:字符串(\`str\`)、整数(\`int\`)、浮点数(\`float\`)。
示例代码:
\`\`\`python
\# 定义变量
name = "张三" # 字符串
age = 25 # 整数
height = 1.75 # 浮点数
\# 打印变量
print(f"姓名:{name},年龄:{age},身高:{height}米") # 格式化输出
2. 常用函数
函数 | 功能 | 示例 |
---|---|---|
print() | 输出内容 | print("Hello Python") |
input() | 获取用户输入 | name = input("请输入姓名:") |
len() | 计算长度 | len("Python") → 6 |
注意:
input()
获取的内容默认是字符串类型,如果需要整数,需用
int(input())
转换。
3. 待办任务
练习变量定义和函数使用
学习条件判断(if-else)
完成 3 道基础练习题
六、总结
Markdown的核心是“用简单符号实现高效排版”,不需要死记硬背——刚开始写的时候可以对照语法表,写1-2篇笔记后就能熟练掌握。它不是“取代Word”,而是在“轻量写作、技术文档、笔记整理”等场景中提供更高效的选择。
现在就打开一个MD编辑器,试着写一篇笔记吧!如果遇到问题,欢迎在评论区交流~