Markdown 是什么?写文章够用的语法快速入门
Markdown 是用几个普通符号在纯文本里标出标题、强调、列表等格式的写法:例如在行首写 # 表示标题,用两个星号包住文字表示加粗。文件本身仍是纯文本,换任何文本编辑器都能打开;在支持 Markdown 的软件里预览或导出时,才显示为排好版的样子。写文章常用的写法只有十几种,下面逐一列出,并说明最容易卡住的几处。
Markdown 语法是什么意思
Markdown 由 John Gruber 在 2004 年提出。后来 CommonMark 规范把细节规定得更清楚,GitHub 又在它的基础上增加了表格、删除线、任务列表等写法(称为 GFM)。许多软件以这两者为参照,个别写法的显示可能略有差异。例如:
## 第三章 雨夜
她把信放回抽屉,**没有回头**。
预览时,第一行显示为章节标题,「没有回头」显示为粗体;用不认识 Markdown 的编辑器打开,看到的仍是这几行字。
写作的人为什么用 Markdown
- 手不离键盘:标题、加粗、列表都靠输入符号完成,不必找工具栏。
- 没有隐藏的格式:格式就是看得见的字符。
- 不被某个软件锁住:Markdown 文件是纯文本(扩展名常用 .md),换软件、换电脑都能打开。
- 能转换成多种格式:支持的软件可以把它导出为网页、PDF、Word 文档或电子书。
Markdown 只管结构(这是标题、这是列表),外观由显示它的软件决定。所以它不适合需要精确控制字体、页边距与分页的文档,例如格式严格的公文、简历,也不适合图文穿插复杂的版式。
够用的写法:一张对照表
| 格式 | 怎么写 | 显示成什么 |
|---|---|---|
| 标题 | # 第一章 | 一级标题;## 是二级,最多六级 |
| 加粗 | **没有回头** | 没有回头 |
| 斜体 | *那天下着雨* | 那天下着雨 |
| 删除线(扩展) | ~~删掉这句~~ | |
| 无序列表 | - 人物小传 | 带圆点的列表项 |
| 有序列表 | 1. 开端 | 带序号的列表项 |
| 引用 | > 引文或摘录 | 单独成块的引用段落 |
| 分隔线 | 单独一行写 *** 或 --- | 一条横线,可用作场景切换 |
| 链接 | [纯纯写作官网](https://writer.drakeet.com) | 可以点按的文字「纯纯写作官网」 |
| 图片 |  | 显示图片,方括号里是图片的描述 |
| 行内代码 | `Ctrl+S` | Ctrl+S,等宽字体,原样显示 |
| 代码块 | 上下各一行 ``` | 中间的内容原样显示 |
| 表格(扩展) | 见下例 | 表格 |
| 任务列表(扩展) | - [ ] 写完第三章 | 未勾选的方框;写成 [x] 为已勾选 |
标有「扩展」的三种来自 GFM,不属于最初的 Markdown,但很多软件也支持。所有标记都是半角符号,全角的「#」「*」不起作用。加粗与斜体也可以用下划线(__加粗__、_斜体_),但写在中文句子中间时常常不生效,用星号更稳妥。
表格用竖线分列,第二行的短横线隔开表头与内容,冒号决定对齐::--- 居左,:---: 居中,---: 居右。竖线不必上下对齐;单元格里要写竖线本身时,写成 \|。
| 人物 | 身份 | 第一次出场 |
| :--- | :--- | ---: |
| 林晚 | 报社记者 | 第 1 章 |
| 周屿 | 中学教师 | 第 3 章 |
最容易卡住的几处
段落之间要空一行
第一段的最后一句。
第二段的第一句。
按 CommonMark 的规定,这两行属于同一段,显示时连成一行。要分段,中间空一行;只想在段内换行(例如诗句分行),在行尾加两个半角空格或一个反斜杠 \。也有软件默认把单个换行显示为换行。
习惯段首空两格的人要注意:行首有四个或更多半角空格的段落,会被当作代码块。需要缩进时用全角空格。
列表前后空一行,子项缩进到位
列表后面不空行,紧接着的一行会被并进最后一项。下面第三行会成为「车票」的一部分:
- 雨伞
- 车票
到了车站才发现忘了带钱包。
列表前面也最好空一行:按 CommonMark,以 1 以外的数字开头的有序列表紧接在文字下面时,不会被当作列表。引用也一样,结束时要空一行。
嵌套的子项要缩进到上一级文字开始的位置:- 下缩进两个空格,1. 下缩进三个空格。在 1. 下只缩进两个空格的话,子项会另起一个列表。
1. 第一章
- 雨夜
- 来信
2. 第二章
想原样写出符号,前面加反斜杠
\* 显示为星号,\# 显示为井号。反斜杠只对半角标点有效,全角符号本来就不是标记。
用波浪线表示范围时要小心:按 GFM 的规定,一对单个波浪线也会形成删除线。同一段里写了 3~5 天 和 7~9 天,有的软件会把两个波浪线之间的文字划掉。可以写成 \~,或改用全角的「~」。
星号紧挨着引号时可能不生效
文字**“加粗”**文字 往往原样显示星号:按 CommonMark 的规定,星号一侧是文字、另一侧是标点时,不一定被当作标记。把标点移到星号外面就行:文字“**加粗**”文字。书名号、括号也是这样。
标题的井号后面要有空格
#第一章 是普通文字,# 第一章 才是标题。另外,用 --- 作场景分隔时上方要空一行,否则上一行文字会变成二级标题;改用 *** 可以避开。
在纯纯写作里用 Markdown
纯纯写作(Pure Writer)是一款写作用的文本编辑器,正文以纯文本保存,不支持富文本;需要标题、加粗等格式时,可以把文章切换为 Markdown,每篇单独切换:
- Android 版:点按顶栏右侧的
TXT图标,图标变为M↓即已切换。点按右下角 ⊕ 旁的M↓小按钮,在编辑与预览之间切换。 - iOS 版:点按编辑器右上角的按钮(平时显示当前文章的格式),选择「切换为 Markdown」。编辑时为标题、强调等着色,标记仍然可见;排版效果在「预览 & 另存为」中查看。
- 桌面版:点按窗口底部状态栏中显示「纯文本」的按钮,选择「Markdown」。桌面版目前不渲染 Markdown,没有预览;同步到手机后可以在手机上预览。
三端都不提供边写边隐藏标记的所见即所得编辑。Android 版与 iOS 版的 Markdown 文章里,点按快捷输入栏最左侧的 M↓ 按钮可以打开 Markdown 面板,插入标题、列表、表格等标记;桌面版没有这个面板。
还有几处与通用说法不同:
- 以 CommonMark 为基础,另支持表格、任务列表、删除线、LaTeX 公式与少数 HTML 标签;不支持
==高亮==与脚注,也不支持<center>标签,居中要写<p align="center">…</p>。 - 默认开启「单个换行视为换行」,按一次回车,预览时就换行。它在 iOS 版的「设置 › Markdown 选项」中,在 Android 版的「少数派选项」中名为「GFM line breaks / Soft break adds new line」。
- 只有两个波浪线才产生删除线,单个波浪线可以放心表示范围。
- Markdown 文章导出为文本文件时是 .md;要 .txt 就先切换为纯文本(标记不会被去掉)。Android 版与 iOS 版还能在「预览 & 另存为」中保存为 PDF、DOCX、EPUB 等(Android 版需要纯纯写作 Pro)。
切换与预览的步骤见 Markdown 简明教程,各种写法在纯纯写作中的细节见使用手册的纯纯写作 Markdown 使用指南。
常见问题
Markdown 和 Word 有什么区别?
Word 文档是富文本,字体、字号等格式保存在文件内部;Markdown 文件是纯文本,格式用 #、** 等看得见的符号写在文字里,任何文本编辑器都能打开。需要精确控制版面时用 Word 更合适;只需要标题、加粗、列表这类结构时,Markdown 更轻便。
Markdown 怎么换行?
分段要空一行。段内换行,按 CommonMark 的规定要在行尾加两个半角空格或一个反斜杠 \,只按一次回车的话,两行会连成一行。也有软件默认把单个换行显示为换行,例如纯纯写作默认开启了「单个换行视为换行」。
Markdown 表格怎么写?
第一行写表头,用竖线 | 分隔各列;第二行在每列写短横线(如 | --- | --- |)隔开表头;之后每行一条内容。冒号设对齐::--- 居左,:---: 居中,---: 居右。表格前后各空一行,单元格里的竖线写成 \|。
手机上能写 Markdown 吗?
能。Markdown 就是纯文本,任何能输入文字的应用都能写,只是不一定能预览。纯纯写作的 Android 版与 iOS 版可以把文章切换为 Markdown,用 Markdown 面板插入标记,并预览排版效果。