注意了 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 中是无效的

https://ganzhixiong.com/p/fcbdca0f/

Author

干志雄

Posted on

2021-12-23

Updated on

2021-12-23

Licensed under

Comments