Markdown 是什么?写文章够用的语法快速入门

Markdown 是用几个普通符号在纯文本里标出标题、强调、列表等格式的写法:例如在行首写 # 表示标题,用两个星号包住文字表示加粗。文件本身仍是纯文本,换任何文本编辑器都能打开;在支持 Markdown 的软件里预览或导出时,才显示为排好版的样子。写文章常用的写法只有十几种,下面逐一列出,并说明最容易卡住的几处。

Markdown 语法是什么意思

Markdown 由 John Gruber 在 2004 年提出。后来 CommonMark 规范把细节规定得更清楚,GitHub 又在它的基础上增加了表格、删除线、任务列表等写法(称为 GFM)。许多软件以这两者为参照,个别写法的显示可能略有差异。例如:

## 第三章 雨夜

她把信放回抽屉,**没有回头**。

预览时,第一行显示为章节标题,「没有回头」显示为粗体;用不认识 Markdown 的编辑器打开,看到的仍是这几行字。

写作的人为什么用 Markdown

  • 手不离键盘:标题、加粗、列表都靠输入符号完成,不必找工具栏。
  • 没有隐藏的格式:格式就是看得见的字符。
  • 不被某个软件锁住:Markdown 文件是纯文本(扩展名常用 .md),换软件、换电脑都能打开。
  • 能转换成多种格式:支持的软件可以把它导出为网页、PDF、Word 文档或电子书。

Markdown 只管结构(这是标题、这是列表),外观由显示它的软件决定。所以它不适合需要精确控制字体、页边距与分页的文档,例如格式严格的公文、简历,也不适合图文穿插复杂的版式。

够用的写法:一张对照表

格式怎么写显示成什么
标题# 第一章一级标题;## 是二级,最多六级
加粗**没有回头**没有回头
斜体*那天下着雨*那天下着雨
删除线(扩展)~~删掉这句~~删掉这句
无序列表- 人物小传带圆点的列表项
有序列表1. 开端带序号的列表项
引用> 引文或摘录单独成块的引用段落
分隔线单独一行写 *** 或 ---一条横线,可用作场景切换
链接[纯纯写作官网](https://writer.drakeet.com)可以点按的文字「纯纯写作官网」
图片![封面草图](cover.jpg)显示图片,方括号里是图片的描述
行内代码`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 面板插入标记,并预览排版效果。