一、Markdown 是什么?

Markdown 是一种轻量级标记语言,核心思想是“用纯文本格式书写,最终渲染为结构化 HTML”。对我个人而言,它的价值在于:

  • 语法极简:常用标记不超过十个,几分钟就能上手。
  • 纯文本可读:即使不渲染,原始文本也几乎没有阅读障碍。
  • 跨平台通用:GitHub、笔记软件(obsidian)、博客平台几乎都支持。

我选择 Markdown 作为主力笔记格式,主要是因为书写简单便捷,并且许多工具都支持,因此改为常在obsidian进行笔记记录。

二、标题

标题用 # 表示,数量代表层级。# 后面需要跟一个空格。

# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题

效果预览

一级标题

二级标题

三级标题

个人习惯:一篇文章只用 ####,更深层级用列表或加粗代替,避免层级太深影响可读性。

三、段落与换行

段落:连续的行视为一个段落,段落之间用空行分隔。

这是第一段的内容。
可以换行但不会分段,除非中间有空行。

这是第二段,与上一段之间有一个空行。

换行:如果要在段落内强制换行(不产生新段落),行末加两个空格然后回车。

第一行末尾两个空格  
第二行紧挨着但换行了

踩坑记录:很多编辑器会忽略单个换行,必须用两个空格才能换行。我后来习惯直接用空行分段,不再纠结强制换行。

四、强调与粗体

效果语法说明
斜体*斜体*_斜体_常用 *
粗体**粗体**__粗体__常用 **
粗斜体***粗斜体***三个符号
删除线~~删除线~~需要额外记忆
这是一个 *斜体* 示例。
这是一个 **粗体** 示例。
这是一个 ***粗斜体*** 示例。
这是一个 ~~删除线~~ 示例。

推荐统一使用 ***,因为 _ 在某些上下文(如下划线)中容易冲突。

五、列表

无序列表

-+* 开头,后面跟空格。推荐使用 -

- 第一项
- 第二项
  - 嵌套列表(前面加两个空格)
  - 继续嵌套
- 第三项

效果:

  • 第一项
  • 第二项
  • 嵌套列表(前面加两个空格)
  • 继续嵌套
  • 第三项

有序列表

用数字加 . 开头,数字不必连续,但推荐从 1 开始。

1. 第一步
2. 第二步
   1. 子步骤 2.1
   2. 子步骤 2.2
3. 第三步

效果:

  1. 第一步
  2. 第二步
  3. 子步骤 2.1
  4. 子步骤 2.2
  5. 第三步

六、链接

行内链接

[链接文本](URL "可选标题")

示例:

[我的 GitHub](https://github.com/username "点击访问")

效果:我的 GitHub

引用式链接(适合重复使用同一链接)

[链接文本][引用标签]

[引用标签]: URL "可选标题"

示例:

我经常访问 [Google][google] 和 [GitHub][gh]。

[google]: https://www.google.com
[gh]: https://github.com

自动链接

直接写 URL 或用尖括号括起来:

<https://example.com>
https://example.com  (部分编辑器支持)

七、图片

语法与链接类似,前面加一个感叹号:

![替代文本](图片URL "可选标题")

示例:

![image tittle](path/xxx.png)

效果(图片略,实际会显示):

本地图片:可以使用相对路径或绝对路径。

![本地截图](./images/screenshot.png)

调整图片大小:原生 Markdown 不支持,但可以用 HTML 的 <img> 标签:

<img src="./images/photo.jpg" width="300" alt="描述">

我的笔记习惯:截图统一放在 images/ 文件夹下,用相对路径引用。如果需要调整大小,再改用 HTML 标签。

八、代码

行内代码

用反引号 ` 包裹:

使用 `console.log('hello')` 打印日志。

效果:使用 console.log('hello') 打印日志。

代码块

用三个反引号 ``` 包裹,可以指定语言(用于语法高亮):

```python
def hello():
    print("Hello, world!")
```

效果:

def hello():
    print("Hello, world!")

其他常用语言标识:javascriptbashsqljsonhtmlcss

围栏式代码块

也可以用四个空格缩进表示代码块,但三个反引号的方式更常用,也支持语言标注。

九、引用块

> 开头,可以嵌套。

> 这是一段引用。
> 可以跨多行。
>
> > 这是嵌套引用。
> > 第二行嵌套。

效果:

这是一段引用。
可以跨多行。

这是嵌套引用。
第二行嵌套。

我通常用引用块来记录“思考总结”或“遇到的坑”,视觉上和其他正文区分开。

十、表格

表格由表头、对齐线和数据行组成。

| 左对齐 | 居中对齐 | 右对齐 |
| :----- | :------: | -----: |
| 单元格1 | 单元格2  | 单元格3 |
| 长内容测试 | 内容 | 100 |

效果:

左对齐居中对齐右对齐
单元格1单元格2单元格3
长内容测试内容100

对齐方式:

  • :--- 左对齐
  • :---: 居中对齐
  • ---: 右对齐

表格语法比较繁琐,我一般用 VS Code 的 Markdown 表格插件(如 Markdown Table Formatter)自动格式化对齐。

十一、水平分割线

用三个或更多的 -*_ 单独占一行:

---
***
___

效果(以 --- 为例):


十二、转义字符

特殊字符前加反斜杠 \ 可以转义,显示原始字符。

\*这不是斜体\*
\# 这不是标题
\[这不是链接\]

效果:*这不是斜体*

需要转义的特殊字符列表:\ * _ {} [] () # + - . ! `

作者

884705373@qq.com

相关文章

QLoRA微调原理详解:与LoRA的性能与内存对比

引言:为什么大模型微调需要QLoRA? 在深...

读出全部

关于Norm的解析

可以说,如果没有残差连接和 Layer No...

读出全部

从 SGD 到 AdamW 的优化器

写在前面 在上一篇文章中,我们讨论了如何用数...

读出全部