如何确保在 Markdown 中保留空白?

目前,我在 Markdown 文件中有一行详细说明命令输出:

1\. Work (00:10:00)
1\. Mail letter (00:05:00, Est. 00:03:00)
Send letter to Foo Bar
2\. Personal (00:02:00)

但是,当我预览 Markdown 文件时,所有的空格都被忽略了。

1. 工作(00:10:00)
1. 信件(00:05:00,Est. 00:03:00)
寄信给富吧
2. 个人(00:02:00)

如何保留这个空格?

89918 次浏览

Markdown 主要用于生成 HTML,默认情况下 HTML 折叠空格。使用  代替空格字符。

  1. Packages > User(mac OSX,Preferences → Browse Packages...)中创建一个新文件 Markdown.sublime-settings,如果它还没有退出的话。

  2. Markdown.sublime-settings中添加以下内容

    {
"trim_trailing_white_space_on_save": false
}

注意 : 您可以对您想要创建的任何其他语言特定设置执行相同的操作)。

使用非中断空格

为了在减价文档中保留空白,可以使用不换行空格:
“一种空格字符,它可以防止连续的空格字符折叠成单个空格,还可以防止在其位置 处自动换行”。

例子

请参见在线和可编辑的示例 给你

该行在许多地方使用非中断空格; 它们不会折叠。
不需要使用代码块。

该行在许多地方使用了许多连续的空格; 它们都是折叠的。

注:
复制和粘贴前面的示例无法工作,因为在复制-粘贴操作中,非中断空格有时会更改为普通空格:-(。

或者试试桌子

但是,如果打算使用非中断空格来对齐文本,则更喜欢使用表。

示例代码:

| Country  | Capital |
| -------- | --------|
| Portugal | Lisbon  |
| Spain    | Madrid  |
| Cuba     | Havana  |

但并非所有 Markdown 实现都识别以前的语法。

如何介绍不换行空格?

  • 在 macOS 中,需要按 ⌥ Opt + Space
  • 在 Windows 中,有时工作 Alt + 0 + 1 + 6 + 0Alt + 2 + 5 + 5
  • 在许多商业软件 Ctrl + Space
  • 在 Linux 中,组合键启用了 Compose Space Space

这个解决方案的优点是您不需要在 Markdown 文档中使用任何代码。例如,在 HTML 中必须使用  

附注:
读者们,请在评论中告诉我们,这个方法在你们特定的降价编辑器中不起作用。我已经在两个应用程序和几个在线编辑器中测试了这种方法。

我发现  使用起来很麻烦。如果你有大文件,它可能会变得难看的编辑,你需要大量的复制粘贴的  ,最后你还需要调整缩进。

而是使用3个重音符号(“‘”)来表示代码(这里您只关心缩进和空格)。

例如,下面是没有任何格式的文本的外观:

启用 = “ True”

Profile = (“ Domain”,“ Private”)

方向 = 「外游」

RemotePort = (“8080”,“8081”)

LocalPort = (“9080”,“9081”)

这就是  快速复制粘贴的效果

启用 = “ True”

Profile = (“ Domain”,“ Private”)

方向 = 「外游」

RemotePort = (“8080”,“8081”)

LocalPort = (“9080”,“9081”)

这是我的解决办法,非常简单,快速而有效:

Profile               = ("Domain", "Private")
Direction             = "OutBound"
RemotePort            = ("8080", "8081")
LocalPort             = ("9080", "9081")```




**EDIT:**


This last example is surrounded by 3 accents at the beginning and at the end, ex:
(```)
your text here
(```)

在 vscode 中,添加扩展名“ TraillingSpaces”然后,为了按语法排除,转到 Preferences > Settings 并选中 Markdown > Preview: Breaks 或 setings.json,添加 "markdown.preview.breaks": true

一种选择是使用

<pre></pre>

例如:

<pre>


1
/ \
2   2
/ \ / \
3  4 4  3
</pre>

金字塔将被保存下来。

当然,您可以使用 &nbsp;。我根据需要同时使用它们。

有一种可能性,我在上下文中使用过,但似乎也适用于减价,那就是使用其他 Unicode 空格字符之一。
一般标点 PDF
可以从中复制/粘贴字符 的网站。

例如,我试过 Em Space (U + 2003) ,它在 vim、 VSCode 和 GitLab (我有一个私人公司页面)中显示为单个空间。

不过也有一些不好的地方。

  1. 由于它在编辑器中看起来是一个正常的空间,其他人可能会很困惑为什么他们的空间不能工作,但是页面上的其他人(你的)可以。也许在你的文档中加上一条注释来提醒其他人。
  2. 如果 HTML 呈现引擎开始像处理 ASCII 空格和制表符一样处理 Unicode 标点符号空间,那么这可能不是未来的证据,那么您又需要其他方法了。

买者自负