Markdown 语法速查表:标题、强调、列表、引用、代码、链接与图片、表格、分割线、任务列表、换行、转义,五十多条写法逐条配上实时渲染的效果,可筛选、可搜索、一键复制,常见的坑单独标出。是一份 markdown cheat sheet with examples,也是 md 语法、Markdown 格式的入门教程。自带 Markdown 表格生成器,能从 Excel 粘贴,页底有试写区。
怎么用
这一页是一份带实时效果的 Markdown 语法速查表,也就是英文里常说的 markdown cheat sheet with examples:左列是写法,中间是渲染出来的效果,右列是要点和常见坑。不用下载、不用注册,打开就能查,全部在你的浏览器里处理,不上传。
一、查语法
- 按类别筛:表格上方有「标题、强调、列表、引用、代码、链接与图片、表格、分割线、任务列表、段落与换行、转义」十一个类别,点哪个只看哪一类,点「全部」看全表。看全表时每一类前面有一条类别名分隔。
- 搜关键字:在搜索框里打「换行」「表格」「粗体」「图片」这样的词,名字、写法、说明里带这个词的行都会留下;空格隔开几个词表示要同时出现,比如「粗体 标点」。搜「GFM」可以只看扩展写法。
- 复制写法:每行右边的「复制写法」把左列原文放进剪贴板,粘到你的文档里就能用。浏览器不让直接写剪贴板时,页面下方会出现一个已经选中的框,按 Ctrl+C 即可。
- 在下面试试:把这一行的写法放进页底的试写区,改几个字看效果怎么变。
效果列和本站 Markdown 在线编辑器 用的是同一个解析器,所以这里看到什么样,在编辑器里就是什么样。效果列里的示例链接只演示样子,点了不会跳走。
二、Markdown 表格生成器
表格是 Markdown 格式里最难手写的部分,所以单独做了生成器:
- 选行数(表头加 1~19 行内容)和列数(1~10 列)。改行列时已经填好的格子会保留。
- 在格子里填字,第一行是表头。
- 每一列上方的下拉选对齐:默认、居左、居中、居右。
- 下面马上出现生成好的 Markdown 表格文本和渲染效果,点「复制表格」带走,或「放进试写区」接着改。
勾着「竖线对齐」时,生成器会按字宽补空格,让源码里每一列的竖线上下对齐(汉字按两个英文字母宽算),读起来整齐,渲染效果和不对齐完全一样。数据已经在 Excel、WPS 表格里的,选中一片格子复制,粘进生成器上方的框,就会自动拆好填进去,第一行当表头;用英文逗号分隔的文字也认。格子里的竖线会自动写成 \|,换行会变成空格。
三、试写区
页底左边写、右边看(手机上上下排),有「复制」「示例」「清空」。写得顺手了,点「到完整编辑器继续写」去 Markdown 在线编辑器,那边能打开和导出 .md 文件、复制成富文本。只想随手记几行不带格式的字,用 在线记事本 更简单。
Markdown 里的 mermaid 代码块能画 流程图,代码块里该怎么写见 Mermaid 语法速查;标题和列表的层级也能直接转成 思维导图。
怎么看结果
两种标记
- GFM:这一行是 GitHub 加的扩展写法(表格、任务列表、删除线、直接写网址变链接)。现在大多数编辑器都支持,但换到老工具或某些平台可能不认。
- 易错:这一行演示的是写错了会怎样,底色略深。效果列里显示成普通文字、没变成你想要的格式,正说明这样写不行;要点里写了怎么改。
效果列里几个特别的样子
- 图片显示成一个虚线框:本页不从外部网站加载任何东西,外链图片画成写着说明文字的占位框。真实写进文档里是正常图片。
- HTML 标签原样显示:为了安全,本页把 HTML 标签一律按文字显示。标准里允许在 Markdown 里混写 HTML,各平台放行多少不一样。
- 标题字号比平时小:效果列空间有限,标题按比例缩小了,层级关系不变。
最常见的坑,按出现频率
- 两行并成一行:单个回车不算换行。空一行是分段;行末两个空格或一个反斜杠是段内换行。
- 标题没变大:井号后面要空一格。
- 粗体不生效:星号里侧不能有空格;粗体紧贴中文标点、外侧又挨着汉字时不算强调,在星号外侧加空格。
- 表格显示成一堆竖线:漏了第二行的分隔行,或者分隔行的列数和表头对不上。
- 分割线把上一行变成了标题:三个短横线紧贴在文字下一行,会被当成二级标题的下划线。分割线前面空一行。
- 列表断开、编号从头开始:列表项里的补充段落没有缩进到和文字对齐。
- 年份开头的句子变成了列表:行首「2024. 」这种会被当成有序列表,句点前加反斜杠。
- 代码块后面全变成代码:结尾的三个反引号漏了,或者没单独占一行。
- 列表前面没空行:按 CommonMark,短横线开头或从 1 开始的有序列表可以紧接在一段文字下面;但从别的数字开始的有序列表不行,一些老工具也要求列表前空一行。保险起见,列表前面都空一行。
常见问题
Markdown 语法有多少条,要全记住吗?
不用。日常写作真正常用的就是六样:标题、粗体、列表、链接、代码块、表格,十分钟就能记住。剩下的(嵌套引用、波浪号代码块、转义)用到时回来查这张表就行。
写 Markdown 的时候要放一段 JSON 或正则表达式怎么办?
放进代码块,开头的三个反引号后面写语言名,比如 json。代码块里的星号、下划线、竖线都不会被当成格式。JSON 本身是乱的,先用 JSON 在线解析 格式化;正则表达式写好后可以先在 正则表达式测试 里验一遍再贴进来。
为什么同一段 Markdown 在不同地方显示得不一样?
最初的 Markdown 规则写得比较宽松,很多边界情况没说清,各家实现各按各的理解来。后来有了 CommonMark 标准,主流工具都在向它靠拢,但细节和自家扩展仍有差别,比如单个回车算不算换行、HTML 标签放不放行。遇到不一致,以你要发布的那个平台实际显示为准。
想把整篇文章写完再看效果?
去 Markdown 在线编辑器:左写右看、工具条一点就加格式,还能打开、导出 md 文件,打印成 PDF。本页更适合边写边查某一条怎么写。
原理与冷知识
Markdown 的来历
Markdown 是 John Gruber 在 2004 年提出的,Aaron Swartz 参与了早期设计。初衷是让纯文本本身就好读:一份写得好的 Markdown,用记事本打开也像一篇排过版的文章,同时又能一键转成网页。名字是对 HTML 这类 Markup(标记)语言的反向玩笑:标记越少越好。
CommonMark 与 GFM
Gruber 当年只写了一份说明和一个转换脚本,很多细节没有规定,比如列表要缩进几个空格、星号和下划线混用怎么算。2014 年起,一批开发者把这些细节逐条写成规范,叫 CommonMark,附带几百个示例用来核对实现。GitHub 后来在 CommonMark 的基础上发布了 GitHub Flavored Markdown(GFM)规范,加上表格、任务列表、删除线、扩展自动链接。本页速查表里每一行都标了出自哪一边。CommonMark 里还有一种「引用式链接」(正文里写 [文字][1],文末统一写地址),本页效果区不演示这种写法。
强调为什么会和中文标点「打架」
CommonMark 判断一个星号能不能开始或结束强调,看的是它两边紧挨着什么:两边是空白、普通字符还是标点,各有规定。这套规则主要是按英文写作设计的,中文不用空格分词,于是出现了「粗体紧贴中文引号就失效」的情况。在星号外侧加空格,或者把标点移到星号外面,就能绕开。
为什么效果列是现场渲染的
速查表里的效果没有一行是手写的 HTML,全部由页面在你的浏览器里把左列的写法实时转换出来,所以写法和效果永远对得上;如果某个写法在本站的解析器里效果不对,这张表会直接暴露出来。单元测试里也逐行检查了每一条写法都能渲染、渲染结果不带脚本。
更多问答
Markdown 换行为什么不生效?只按回车两行就并在一起了
这是 Markdown 的规定:只按一次回车不算换行,相邻的两行会并成同一段。想分段,中间空一行;只想换行不分段,在行末打两个空格再回车,或者在行末写一个反斜杠再回车。两个空格看不见,有的编辑器保存时会自动删掉行末空格,反斜杠写法更稳。也有少数平台(比如一些笔记软件和聊天工具)把单个回车直接当换行,所以同一段文字换个地方显示可能不一样。
Markdown 表格怎么写?怎么设置居中、居左、居右?
第一行写表头,用竖线把各列隔开;第二行是分隔行,每一列写几个短横线;往下每行是一条内容。对齐方式写在分隔行里:冒号写在短横线左边是居左,两边都写是居中,写在右边是居右。格子里要出现竖线本身时写成反斜杠加竖线。不想手写,用本页的 Markdown 表格生成器:选好行数列数、填格子、给每列选对齐,下面就出现可以复制的表格文本;已经在 Excel 或 WPS 表格里的数据,选中复制后粘进生成器上方的框,会自动填好。
为什么我的粗体没生效,星号原样露出来了?
最常见的三个原因:一是星号和文字之间有空格,两个星号要紧贴文字;二是粗体内侧紧挨着中文引号、括号、书名号这类标点,外侧又紧挨着汉字,按 CommonMark 的规则这不算强调,在星号外侧各加一个空格就好;三是星号前面有反斜杠,被当成了原样显示的符号。速查表里「粗体紧贴中文标点」那一行能直接看到前后两种写法的区别。
CommonMark 和 GFM 有什么区别?我该按哪个写?
CommonMark 是把 Markdown 的规则逐条写清楚的标准,标题、强调、列表、引用、代码、链接、图片都在里面。GFM 是 GitHub 在 CommonMark 基础上加的扩展,多了表格、任务列表、删除线和直接写网址就变链接这几样。现在多数编辑器和平台两样都支持,写的时候不用刻意区分;只有表格、任务列表、删除线这几样,换到老一些的工具里可能不认。本页速查表里标了「GFM」的就是扩展写法。
在 GitHub、Typora、Obsidian、公众号里写,语法一样吗?
基本语法是一样的,本页列的标题、列表、代码块、链接、表格在这些地方都能用。不同的是各家额外加的写法和细节:Typora 和 Obsidian 还支持数学公式等扩展,Obsidian 有双方括号的内部链接;GitHub 会放行一部分 HTML 标签。公众号编辑器本身不认 Markdown,要先用排版工具把 Markdown 转成带格式的内容再粘进去,或者用本站 Markdown 在线编辑器的「复制为富文本」。具体以各平台自己的说明为准。
和菜鸟教程、markdown.com.cn 这类教程比,本页有什么不同?
那些网站是按章节写的 Markdown 教程,讲得更全,适合从头系统学。本页的定位是查:所有写法压在一张表里,效果是现场渲染出来的,能按类别筛、按关键字搜、一键复制,写错了会怎样也单独列成「易错」行;另外带一个能从 Excel 粘贴的表格生成器和一个试写区。想要能打开、导出 md 文件的完整编辑器,用本站的 Markdown 在线编辑器。