注意了 Typora 的软换行在 GitHub 中是无效的
在 Typora 中按下 Shift + Enter 是软换行,按下此组合键后,可以看到换了一行,但是推送到 GitHub 上后,你会发现换行是无效的。
要解决这问题,你就要搞清楚空格、软换行、硬换行、换段的在 Typora 中的概念。
Typora 在空格与换行部分主要是使用 CommonMark 作为标注规范。与前文提到的 GFM 一样,CommonMark 也是比较流行的 Markdown 语言规范(解析器)之一。
- 空格:在输入连续的空格后,Typora 会在编辑器视图里为你保留这些空格,但当你打印或导出时,这些空格会被省略成一个。
你可以在源代码模式下,为每个空格前加一个\
转义符,或者直接使用 HTML 风格的&nbps;
来保持连续的空格。 - 软换行: 需要说明的是,在 Markdown 语法中,换行(line break)与换段是不同的。且换行分为软换行和硬换行。在 Typora 中,你可以通过
Shift + Enter
完成一次软换行。软换行只在编辑界面可见,当文档被导出时换行会被省略。 - 硬换行: 你可以通过
空格 + 空格 + Shift + Enter
完成一次硬换行,而这也是许多 Markdown 编辑器所原生支持的。硬换行在文档被导出时将被保留,且没有换段的段后距。 - 换段: 你可以通过
Enter
完成一次换段。Typora 会自动帮你完成两次Shift + Enter
的软换行,从而完成一次换段。这也意味着在 Markdown 语法下,换段是通过在段与段之间加入空行来实现的。 - Windows 风格(CR+LF)与 Unix 风格(CR)的换行符: CR 表示回车
\r
,即回到一行的开头,而 LF 表示换行\n
,即另起一行。
所以 Windows 风格的换行符本质是「回车 + 换行」,而 Unix 风格的换行符是「换行」。这也是为什么 Unix / Mac 系统下的文件,如果在 Windows 系统直接打开会全部在同一行内。 你可以在文件 - 偏好设置 - 编辑器 - 默认换行符
中对此进行切换。
下附以上各空格、换行、换段的测试结果图。具体内容你可以在官网的 这篇文档 中查阅。
注意了 Typora 的软换行在 GitHub 中是无效的