Markdown 换行生成器
选择一种换行写法、编辑示例文本,实时查看 Markdown 的渲染结果。全部计算都在你的浏览器本地完成。
Markdown 里怎么换行?
在行尾敲两个空格再回车,Markdown 就会在同一段落内插入一个换行,对应 HTML 的 <br>。行尾加一个反斜杠效果完全相同,而且在源码里看得见。如果想另起一段,则在两段文字之间空出一整行,渲染时会生成新的 <p> 元素,上下间距更大。
第一行文字。
第二行文字。
这是新的一段。前两行位于同一段落内的相邻两行,中间是一个 <br>;第三句单独成段。
在线使用 Markdown 换行生成器
Markdown 换行方式
行尾两个空格
在行尾加两个空格,即可在 Markdown 中插入换行。
预览
这一行的末尾有两个空格。
这段文字会显示在新的一行。
Markdown 换行的全部写法
Markdown 区分「换行」和「分段」:换行仍在同一段落内、行距紧凑;分段会新建一个块级元素、上下留白更大。实现换行一共有四种写法,各自的失效场景完全不同。
行尾两个空格(标准换行)
在行尾正好敲两个空格再回车,所有符合 CommonMark 的渲染器都会在当前段落内插入一个 <br>。空格是不可见的,这也正是「Markdown 换行没生效」最常见的原因。
第一行文字。
第二行文字。渲染为同一段落内的两行,对应 HTML:第一行文字。<br>第二行文字。
行尾反斜杠
行尾加一个反斜杠可以得到完全相同的硬换行。它在源码里看得见,也不会被「保存时删除行尾空格」的编辑器吃掉。CommonMark、GitHub、GitLab、Pandoc 和 VS Code 预览都支持。
第一行文字。\
第二行文字。渲染结果与两个空格完全一致,但直接读源码时就能看出这里有换行。
空行分段
留出一整行空行会关闭当前段落并开启新段落。这是「分段」而不是「换行」:会生成独立的 <p> 元素并带上真实的段间距,且所有 Markdown 方言无一例外都支持。
这是第一段文字。
这是第二段文字。生成两个独立的 <p> 元素,中间带有外边距,而不是一段文字被拆成两行。
HTML <br> 标签
Markdown 允许直接书写 HTML,所以当行尾空格被格式化工具删掉、或者 Markdown 语法够不着的位置,<br> 就是兜底方案。但会过滤 HTML 的平台(Discord、Slack、Reddit)会直接忽略它。
第一行。<br>第二行。<br />第三行。同一段落内显示三行。<br> 与 <br /> 等价,自闭合写法只在严格 XHTML 中才有区别。
表格单元格内换行
Markdown 表格的一行必须写在同一物理行上,在单元格里回车只会结束这一行表格。此处只能用 HTML 标签,行尾空格和反斜杠都会被表格解析器吃掉。
| 步骤 | 说明 |
| --- | --- |
| 安装 | 执行 npm install<br>然后重启开发服务器 |第二个单元格内「执行 npm install」和「然后重启开发服务器」分两行显示,仍属于同一个单元格。
列表项内换行
列表项内部同样可以用行尾两个空格换行,但续行必须缩进到与条目正文对齐。缺少缩进时渲染器会认为列表已经结束,把后面的文字当成新段落。
- 第一条,第一行。
第一条,第二行。
- 第二条。第一个条目包含两行文字,后面跟着第二个条目——而不是变成三条并列的列表项。
各平台的 Markdown 换行差异
最容易踩坑的一点是:同一个平台在不同位置行为也不一样。GitHub 的评论框里回车一次就换行,而仓库里的 README 会把单个换行折叠掉。发布前请在内容真正落地的位置验证。
| 平台 | 支持情况 | 说明 |
|---|---|---|
| GitHub Issue / 评论 | 完全支持 | 回车一次即换行,不需要额外加两个空格。 |
| GitHub README / .md 文件 | 部分支持 | 按 CommonMark 渲染,单个换行会被折叠,需要两个空格、反斜杠或 <br>。 |
| GitLab | 完全支持 | Issue、MR 和仓库文件中,两个空格、反斜杠、<br> 均可用。 |
| Discord | 部分支持 | 用 Shift+Enter 换行;行尾空格和 HTML 标签都无效。 |
| Slack | 部分支持 | 只能用 Shift+Enter;Slack 的 mrkdwn 没有行尾空格和 <br> 语法。 |
| Obsidian | 完全支持 | 默认单个换行即生效;打开「严格换行」后回到 CommonMark 行为。 |
| Notion | 部分支持 | 块内用 Shift+Enter 换行;粘贴时行尾空格会被清除。 |
| 部分支持 | 空行是最可靠的分隔方式;HTML 标签会被安全过滤掉。 | |
| VS Code 预览 | 完全支持 | 默认遵循 CommonMark;开启 markdown.preview.breaks 后单个换行也会生效。 |
如何用本工具生成 Markdown 换行
选择换行方式
用选项卡在行尾空格、反斜杠、空行分段和 HTML <br> 之间切换,每个选项卡都会把一段可用示例载入编辑器。
编辑示例文本
直接改写示例内容。真正产生换行的是行尾的两个空格或反斜杠,改写句子时记得保留它们。
核对实时预览
右侧面板会随输入实时渲染,发布前先确认换行位置正好落在你想要的地方。
复制 Markdown
点击复制按钮,把包含不可见行尾空格在内的完整语法复制到剪贴板。
常见问题
为什么我的 Markdown 换行不生效?
绝大多数情况是行尾那两个空格被删掉了。多数编辑器和格式化工具会在保存时自动清除行尾空白,而单独一个回车会被 CommonMark 折叠成一个普通空格。如果需要不怕自动格式化的写法,改用行尾反斜杠或 HTML 的 <br> 标签。
Markdown 换行需要几个空格?
行尾正好两个空格,然后回车。多于两个在大多数渲染器里也有效,但两个是规范规定的最小值,也是最稳妥的选择。写在空行上的空格则完全不起作用。
Markdown 里换行和分段有什么区别?
换行让文字仍留在同一段落内,编译成 <br> 元素,两行之间几乎没有额外间距。分段用一个空行实现,会关闭当前段落并新建一个 <p>,带来真实的段间距。地址、诗句适合用换行,表达不同意思时用分段。
按一次回车能不能换行?
取决于渲染器。标准 CommonMark 把单个换行当作软换行,折叠成一个空格;而 GitHub 的评论框、GitLab、Discord、Obsidian 和 Notion 都开启了硬换行,回车一次就够。GitHub 仓库中渲染的 README 则不行。
Markdown 表格里怎么换行?
用 HTML 的 <br> 标签。表格的一行必须写在同一物理行上,真正回车会结束这一行表格而不是换行。行尾空格和反斜杠会被表格解析器吃掉,不会产生任何效果。
列表项内部怎么换行?
在行尾敲两个空格,并把续行缩进到与条目正文对齐,通常是两个或四个空格。缺少这段缩进时,渲染器会认为列表已结束,把下一行当作新的段落处理。
怎么在编辑器里看到行尾空格?
打开空白字符显示。VS Code 把 editor.renderWhitespace 设为 all 即可;Sublime Text、JetBrains 系列和 Vim 也有同类选项,名称类似 Show Whitespace 或 list。同时确认 Markdown 文件没有开启「保存时删除行尾空白」。
Markdown 里可以用 <br> 标签吗?
可以,凡是把 Markdown 渲染成 HTML 的场景都支持,包括 GitHub、GitLab、Obsidian、Jekyll、Hugo 和 MkDocs。但 Discord、Slack、Reddit 这类会过滤 HTML 的平台会忽略它,标签要么消失,要么原样显示成纯文本。
怎样在两段之间增加更多空白?
连续的空行会被合并成一个,多敲几行没有用。可以在两段之间放一行只包含 的内容,或者连写两个 <br> 标签。如果是文档站点,用 CSS 类或间距组件是更干净的做法。
GitHub README 里怎么换行?
README 按 CommonMark 渲染,单个回车会被折叠。请在行尾加两个空格或一个反斜杠,或者插入 <br>。这一点与 GitHub 的 Issue 和 Pull Request 评论不同,那里回车一次就会换行。