我想写几行文字。除了每行从第6列开始之外,它们应该正常格式化。例如,我不希望代码块格式规则使这一文本块看起来像代码,因为我将使用其他格式,如粗体面等。如何在Markdown中做到这一点?


当前回答

在gitlab.com上,一个单独的en空间(U+2002)和一个单独的em空间(U+2003)可以正常工作。

可能其他的重复或组合的不精确的空格字符也足够了。

其他回答

使用非换行空格开始行的一个问题是,如果你的行足够长,那么当它溢出到第二行时,溢出行的第一个字符将从左开始,而不是从上一行的第一个字符开始。

如果你的系统允许你将HTML与你的markdown混合在一起,一种获得缩进的廉价和愉快的方式是这样的:

<ul>
My indented text goes here, and it can be long and wrap if you like.
And you can have multiple lines if you want.
</ul>

从语义上讲,在HTML中这是毫无意义的(一个没有任何LI项的UL节),但我所使用的所有浏览器都很乐意缩进这些标记之间的内容。

一些Markdown实现似乎使用~字符进行缩进。

另一种选择是使用像StackEdit这样的降价编辑器。它将html(或文本)转换为所见即所得编辑器中的markdown。您可以在编辑器中创建缩进,标题,列表,它将以markdown格式显示相应的文本。然后您可以保存、发布、共享或下载该文件。你可以在他们的网站上访问它-不需要下载!

请使用硬空格

为什么使用另一种标记语言?(我同意上面的@ cz)。 Markdown的一个目标是使文档即使在纯文本编辑器中也可读。

两种方法的结果相同

的代码

Sample code
&nbsp;&nbsp;&nbsp;&nbsp;5th position in an really ugly code  
    5th position in a clear an readable code  
    Again using non-breaking spaces :)

结果

示例代码 在一个非常丑陋的代码中排名第五 第5位在一个清晰易读的代码 再次使用非换行空格:)

非间断空格(或硬空格)的视觉表示通常是一个正常的空格“”,然而,它的Unicode表示是U+00A0。 普通空格的Unicode表示是U+0020(在ASCII表中是32)。 因此,文本处理器的行为可能会有所不同,而视觉表示则保持不变。

插入硬空间

| OS        | Input method                      |
|-----------| ----------------------------------|
| macOS     | OPTION+SPACE (ALT+SPACE)          |
| Linux     | Compose Space Space or AltGr+Space|
| Windows   | Alt+0+1+6+0                       |

Some text editor use Ctrl+Shift+Space.

问题

在复制和粘贴操作中,一些文本编辑器可以将硬空格转换为公共空格,因此要小心。

我会使用&emsp;在我看来干净多了。