type
status
date
slug
summary
tags
category
icon
password
Markdown语法讲解
一小时快速上手,程序员必备的Markdown语法,轻松编写规范文档。
什么是Markdown?
Markdown 致力于使阅读和创作文档变得容易。
Markdown是一种轻量级的标记语言,设计初衷是让人们可以使用简单的文本格式来书写和编辑文档,同时具有一定的格式化效果。通过使用Markdown语法,用户可以快速地将纯文本转换为格式化的文档,例如标题、列表、链接、图片等。Markdown语法简单直观,易于学习和使用,逐渐成为了各种平台上书写文档的常用格式,甚至还可以实现Markdown文档对PDF、Word等格式的快速转换。
Markdown的文件通常以
.md
或.markdown
为扩展名
我们可以创建一个TXT文本文档,然后将其后缀改为
.md
即可开始编辑此Markdown文档。基础语法讲解
在此之前我们需要先安装一个可以编辑Markdown文档的软件,这里推荐:
- (强烈推荐) Typora: https://typoraio.cn
- Intellij IDEA: https://www.jetbrains.com.cn/idea/
准备好文档编辑器之后,我们就可以正式开始学习了。
段落和换行
Markdown文档与我们常见的Word文档或是TXT文档类似,只需要直接输入内容,就可以展示了:

当我们需要换行时,在源代码中直接换行相当于空一格,并不是真正的换行:

要实现换行有两种方式:
- 换行效果: 在上一行的末尾连续添加两个空格,然后再换行。
- 换段效果: 连续换两行。

加粗和斜体
想要使得文本加粗,我们只需要在需要加粗文本两边添加两个
*
星号即可:或是使用两个
_
下划线,效果相同:注意: 这里比较推荐使用
*
号,因为部分编辑器在使用_
下划线时无法实现加粗效果。斜体与加粗类似,我们只需在需要斜体的文本两边添加一个
*
星号即可:同样也可以使用一个
_
下划线代替,效果相同:如果需要同时使用加粗和斜体,我们可以直接使用连续的三个
*
星号或是_
下划线:如果我们只是单纯想在文档中使用这些特殊符号(包括后面遇到的)我们可以使用转义字符,否则某些编辑器会出现格式错乱等问题,只需在前面加上
\
反斜杠即可:删除线和下划线
想要为文本添加删除线,我们只需要在需要加删除线的文本两边添加两个
~
波浪线即可:下划线在Markdown原生语法中没有提供对应的符号,我们只能借助HTML代码来实现,Markdown支持在文本中嵌入HTML标签,包括其样式,我们会在后面详细介绍:

分割线
分割线的创建非常简单,只需在单独一行使用连续三个及以上的
*
星号即可:
同样的,我们使用下划线也可以实现:

在连续三个字符之间也可以存在空格:
效果与上面一样,都可以实现分割线效果。
标题
很多情况下我们都需要一个标题来代表当前这块文本的内容核心,以便读者阅读,Markdown中也可以创建多种大小的标题,就像Word文档那样,并且非常简单,我们只需要使用
#
井号即可创建标题:
标题分为多种等级,不同的等级表示不同级别下的标题,我们可以通过连续添加多个
#
井号来表示多个不同等级的标题,但是最多只支持到六级标题:
除了使用
#
井号创建之外,一级标题和二级标题也可以使用其他符号快速创建,一级标题可以使用=
等号快速创建,只需要在标题文本的下方添加即可:
同样的,二级标题可以使用
-
减号快速创建,也是在下方添加:
列表和勾选框
列表在我们的日常生活中起到了非常重要的作用,比如我们的日常计划、工作任务、购物清单等,都需要用到列表来展示,这样往往更加清晰直观,在Markdown中也可以很轻松地创建列表。
要创建一个无序列表,我们只需要使用
*
星号作为前缀,注意需要空格:
除了星号之外,我们也可以使用加号
+
或是减号 -
来代替,效果完全相同。注意,这三种符号在一个列表中只能统一使用同一种,不能混用,如果出现混用的情况,会被认为是上一个列表下的一个新的列表,比如下面就被认为是三个列表了:
要创建一个带数字的有序列表,我们可以使用数字的123来表示,首先输入数字然后添加
.
小数点作为前缀,注意添加空格:
在列表中换行同样需要像普通文本那样,如果只是单纯换行编写,会被认为是一个空格:

如果是在末尾添加两个空格再换行,会被认为是在列表项内换行:

只有两个连续的换行才能脱离列表,作为新的段落开始编写:

列表支持多个层级嵌套,我们可以在一级列表下创建二级列表,要表示二级列表,我们可以在前面添加两个或四个空格(也可以是一个TAB缩进),表示此列表是上一个列表的子级:

我们也可以将列表变为勾选框的形式,来表示我们的任务完成情况,只需要添加一个方括号即可:

在方括号中间填写空格表示未完成,填写大写或小写的
x
表示已完成。代码块
要创建一个代码块,只需要在本行的最前面添加四个空格即可,注意代码块要与上面的其他文本隔开一行:

只不过这样非常不方便,不仅要空出四格还得专门隔一行出来,建议各位小伙伴使用下面的方式创建代码块,更加简单,我们也可以使用三个连续的 ` 符号来添加代码块,注意前后都需要添加,囊括起来:

在上面的三个 ` 后可以添加语言名称,比如我们这里添加的是Java代码,那就添加java名称上去,表示这个代码块是一段Java代码,便于Markdown编辑器分辨代码并为其添加相应的高亮展示。
注意: 代码块中的所有内容都会被认为是代码,不可以嵌套其他Markdown语法。
除了编写多行代码之外,如果只是加单编写一个行内展示的代码,比如方法名称之类的,我们可以使用单个 ` 囊括行内代码块部分:

引用
当我们引用他人文章内容时,往往需要特别标注此部分,而Markdown为我们提供了更加方便的文本引用块,我们只需要在最前面添加
>
大于符号即可表示后面的文本为引用文本,注意空格:
被引用的文本会被一个特殊的块包裹起来,类似于代码块,反正意思到位就行了。
在引用块内换行同样需要像普通文本那样,如果只是单纯换行编写,会被认为是一个空格:

如果是在末尾添加两个空格再换行,会被认为是在引用块内换行:

只有两个连续的换行才能脱离引用块,作为新的段落开始编写:

对于多行内容的引用,我们更推荐每一行的前面都添加
>
大于符号,效果与上面是完全一样的,并且看上去会更加直观:
在引用块内,我们也可以嵌套其他Markdown内容,比如列表或是代码块:

引用还能继续嵌套引用,甚至很多层,只需要连续添加
<
大于符号前缀即可,注意空格:
链接和图片
我们可以像Word中那样,在Markdown文档中插入超链接,只需要使用
[]
和()
组合就能完成,具体语法格式为:这样,指定的文本会以超链接的形式存在于文档中,用户可以直接点击跳转,非常方便。
有些时候可能我们的文档中有很多链接,甚至还有重复,此时一个一个编写相当费时间,而且源代码中满屏的链接显得相当杂乱,我们可以利用变量来优化这种情况,变量可以在文章的末尾再确定值:
等价于:
我们接着来看如何向文章中插入图片,其实插入图片非常简单,与链接类似,语法如下:
其实就是链接的写法前面多加了一个感叹号。由于Markdown文档是纯文本格式,无法像Word那样真的放一张图片进去,因此我们只能使用本地图片地址或是网络图片地址,比如插入一张网络图片:

这里推荐各位小伙伴使用网络图片,尤其是需要分享文档给其他小伙伴或是在不同电脑上办公的,本地图片必须一起打包带走,非常麻烦,而网络图片无论何时何地都可以访问,直接一步到位,当前,前提是选好一个合适的图床。
图片插入后,大小由编辑器决定,一般是占满宽度,我们无法主动修改图片的大小。
而在Typora中可以选择缩放图片,以HTML中的CSS样式呈现。
图片和链接一样,都可以使用变量:

脚注
在Word中我们经常会用到脚注,尤其是论文中,经常会在某个词语的右上角标上123来表示这个词语在文档的底部有注释,如果不理解可以去页脚查看注释中的内容。
在Markdown中也可以像这样编写脚注(部分编辑器不支持)

鼠标移动上去时也会展示脚注内容。
表格
在Markdown中也支持创建一个表格,使得数据的展示更加整齐有序。
不过这个语法可能稍微有一点点复杂,首先我们来看一个表格的结构,表格分为表头和表体,其中表头就是最顶上一排的,用于表示当前列的数据类型,比如年龄、性别等,而表体就是每一行数据,我们来看看如何在Markdown中编写:
最上一排就是表头,需要在左右使用
|
表示这是一个表格,同时,下方需要添加分割线,分割线使用-
减号表示,写一个或多个都可以,推荐与表的宽度一致,更加美观。这样,就可以顺利展示为一个表格了:
接着我们来编写表体,格式与表头是一样的,并且可以一直往下写:

同时Markdown的表格支持内容的对齐调整,只需要使用
:
冒号调整分割线即可:其中:
:---
为左对齐
--:
为右对齐
:---:
为居中对齐
比如我们希望内容居右对齐:

表格中也可以嵌套使用诸如加粗、斜体、行内代码块这类Markdown语法。
HTML标签
学完最基本的语法后,可能会有小伙伴觉得自定义度不够,比如无法修改字体颜色、无法自定义图片的大小等。我们也可以在Markdown文本中使用部分受支持的HTML标签,让文档内容更加个性化。
比如我们可以嵌入一个
img
标签,并编写对应的css行内样式,来让图片大小可以自定义:
还有我们前面使用的换行、分割线、下划线等,都可以使用HTML提供的标签来完成:

只不过,如果Markdown语法本身就支持对应的功能,我们还是尽量使用Markdown原生的语法,以免降低可读性。
我们还可以利用css修改文本的颜色等,自定义度相当高:

各位小伙伴还可以试试看内嵌
iframe
页面,实现B站视频播放哦~其他扩展语法
除了我们上面学习的语法外,还有一些扩展语法可以使用(部分编辑器不支持,Typora需要在设置中开启才能支持)
首先是文本高亮,使用两个
=
等号囊括:此时文字会呈现为高亮状态,具体怎么高亮根据不同的编辑器可能效果会不一样。
文本的上标和下标分别可以使用单个
^
和~
囊括来实现:数学公式语法
除了基础的文档格式Markdown可以支持外,它还可以编写数学公式,更加直观和规范地展示,理科生直接爱了。
注意: 使用Typora的小伙伴需要在设置中开启内联公式支持。
公式块
需要编写数学公式,我们同样需要在特定的块中编写,公式块使用
$
美元符表示。多行公式使用连续的两个美元符:如果只想在行内编写,一行内容只需要使用一个美元符囊括即可:
公式块中展示的内容会自动变为标准的论文公式格式,并且字体也是非常标准的,强烈推荐各位小伙伴使用Markdown写数学公式。
特殊数学符号
在公式块中,大部分数学符号都可以通过键盘直接输入,但是还是有一些符号无法直接通过键盘输入,比如乘号、除号、根号等,我们需要借助一些特殊的代码来替代:
代码 | 符号 | 描述 |
\not= | \not= | 不等于 |
\approx | \approx | 约等于 |
\times | \times | 乘号 |
\div | \div | 除号 |
\leq | \leq | 小于等于 |
\geq | \geq | 大于等于 |
\pm | \pm | 正负号 |
\sum | \sum | 求和符号(累加) |
\prod | \prod | 累乘 |
\coprod | \coprod | 累除 |
\overline{a + b + c} | \overline{a + b + c} | 平均值 |
数学中常见特殊字符:
代码 | 符号 | 代码 | 符号 |
\alpha | \alpha | \beta | \beta |
\gamma | \gamma | \delta | \delta |
\epsilon | \epsilon | \eta | \eta |
\theta | \theta | \pi | \pi |
\omega | \omega | \rho | \rho |
\sigma | \sigma | \mu | \mu |
还有我们数学中常见的三角函数相关:
代码 | 符号 | 描述 |
\sin | \sin | 正弦 |
\cos | \cos | 余弦 |
\tan | \tan | 正切 |
\cot | \cot | 余切 |
\sec | \sec | 正割 |
\csc | \csc | 余割 |
\circ | \circ | 度 |
积分和求导相关:
代码 | 符号 | 描述 |
\infty | \infty | 无穷 |
\int | \int | 定积分 |
\iint | \iint | 双重积分 |
\iiint | \iiint | 三重积分 |
\oint | \oint | 曲线积分 |
x\prime | x\prime | 求导 |
\lim | \lim | 极限 |
集合相关:
代码 | 符号 | 描述 |
\emptyset | \emptyset | 空集 |
\in | \in | 属于 |
\notin | \notin | 不属于 |
\supset | \supset | 真包含 |
\supseteq | \supseteq | 包含 |
\bigcap | \bigcap | 交集 |
\bigcup | \bigcup | 并集 |
对数函数相关:
代码 | 符号 | 描述 |
\log | \log | 对数函数 |
\ln | \ln | 以e为底的对数函数 |
\lg | \lg | 以10为底的对数函数 |
分数
分数使用
\farc
来表示,具体格式如下:
开方
开方使用
\sqrt
来表示,具体格式如下:
如果需要修改根号上方数值,可以添加中括号:

上下标
在公式块中的上下标与Markdown中的不同,语法也不一样,其中
^
表示上标, _
表示下标:
如果上标或下标内容多于一个字符,需要使用 {} 括起来,包括后续的其他代码如果出现只有一个字符生效的情况下,考虑使用花括号囊括全部内容:
积分和极限
积分非常简单,直接使用上下标即可指定范围,后续的内容可以直接向后编写,会自动居中摆放:

极限与积分类似,同样使用下标即可:

其他符号
向量符号:

省略号:

点乘号:

累加:

- 作者:BWYLBT
- 链接:https://blog.btylbt.top/article/e96c49b2-fc7e-4dd6-b068-eabed1b927a4
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。