返回

AI时代,你也可以了解一下Markdown

作者 兴之所志 发布于 2026.05.29 AI技能

AI时代,你也可以懂一点Markdown

ChatGPT Image 2026年5月29日 16_32_30

在AI时代,你可能越来越容易在网上看到Markdown这个词,或者接收到以.md结尾的文件,抑或是在AI的回复中发现##**这类字符,这些其实都与一种叫做Markdown的文件有关。

那Markdown文件到底是什么?

一、Markdown简介

1. Markdown文件使用标记符号来表征和存储格式的一种文本文件

什么是文本文件?在Windows下,你用记事本新建一个文件,输入几行字,保存到磁盘后对应目录会出现一个.txt结尾的文件,这就是最典型的纯文本文件。

本质上来说,.md文件和.txt文件没有任何区别。你把扩展名为.md的文件改成.txt,或者把扩展名为.txt的文件改成.md文件,用记事本打开都是一样的效果。

因为像txt这样的纯文本文件只有文本内容,没有任何格式或结构信息,包括加粗、标题、编号等等。这对于稍微复杂一点的文档,阅读和编辑体验就会非常差。

想象一下把一份产品说明书里的所有内容不加任何标记地堆在一起——读者没法扫一眼知道文档分几个部分,找不到重要的地方在哪,只能从头一行行读下去。

Word 解决这个问题的方式,是在文件里额外存一层格式数据:这段是”标题一”,那段是”正文”,字号多少,颜色什么。这些信息藏在文件内部,你看不见,其他软件也看不懂,只有提前沟通清楚这种格式信息是怎么解析的,两个不同软件比如Word和WPS才能打开同一份.docx文件,否则就会乱码。

Markdown 用了另一种思路:把格式信息通过标记符号直接写进文本文件的内容里,这样就不需要额外存储一层格式信息。比如在文字前面加 #,就表示”这是标题”;加 -*,就表示”这是列表项”:

# 这是标题
- 这是列表
* 这也是列表

Markdown 名字里的”Mark”,指的就是这些标记符号——不是把格式藏在文件内部,而是用约定好的符号直接写在文本里。这样做的好处是:文件本身还是纯文本文件,不依赖某一个特定软件就可以打开,只是打开的是一个纯文本文档。 Pasted image 20260529104001

正如上图所示,Markdown文件用记事本或普通编辑器打开后,只能看到原始文本和字符,包括这些看起来很奇怪的标记符号(##**)。

2. Markdown需要支持的编辑器才能显示结构化格式化内容

为了能够呈现出结构化、格式化的内容,就需要使用支持 Markdown 的编辑器或阅读器,把那些标记符号呈现为易读的结构和格式。

那这些标记符号是怎么变成我们看到的结构和格式的?靠的是能读懂这些标记的阅读器/编辑器进行渲染——阅读器/编辑器读到 #,把它显示成标题;读到 **,把中间的文字显示成加粗。没有渲染,你看到的是标记本身;有了渲染,标记消失,结构和格式出现。

目前最新的Windows 11记事本已经支持渲染Markdown文件了,打开文件后,点击状态栏的“Markdown语法”几个字,就可以进行渲染了。Window 11记事本目前支持的标记符号似乎有限,所以会自行修改一些标记符号,比如前面提到的标识列表的 -*,Window 11记事本目前只支持*,所以会在渲染之前直接把-改成*Pasted image 20260529105248

点击“继续”,渲染效果如下。如果不想保存记事本自动修改的标记符号,在退出的时候可以不选择保存文件。 Pasted image 20260529104850

3. Markdown的源码模式和阅读模式

因为这种需要翻译和渲染的特性,Markdown文件有两种模式,一种是源码模式(对应记事本状态栏的“Markdown语法”),一种是阅读模式(对应记事本状态栏的“已编排格式”)。

源码模式最原始的、显示并可编辑所有文本内容和标记符号的状态,阅读模式则是阅读器/编辑器渲染标记字符后生成的带有结构和格式的状态,一般阅读模式下很多编辑器只能查看,不能编辑内容和格式的。

因为AI的推广,现在很多编辑器和笔记软件都支持Markdown格式的渲染了,不同编辑器在怎么处理源码模式和阅读模式的关系上,采用了不同的方式。

第一种是源码模式和阅读模式二选一,你在编辑的时候就只能使用源码模式,如果想要查看渲染后的结构和格式,就需要跳转到阅读模式进行查看。查看完之后如果想要修改的,又得返回源码模式进行编辑,这种编辑体验对于记笔记很不友好。

第二类是同时打开源码模式和阅读模式,左边是源码模式可以进行编辑,右边是阅读模式实时显示渲染结果,边写也能边看到渲染效果。这个有点类似于写网页源代码时实时查看网页效果,VS Code作为一款代码编辑器,目前处理Markdown文档就是这个方式,早期很多MD编辑器也都是这个方式,这种方式虽然也实现了所见即所得,但是左右分屏的方式还是有点分裂,未来有可能慢慢会被下面这种真正所见即所得的编辑方式所淘汰。

第三类则是真正的所见即所得,融合了源码模式和阅读模式的预览模式,在这种模式下,你既可以编辑文字内容,也可以输入标记符号,你输入标记符号后它会即时渲染,你就能看到最终效果。比如你输入 ** 之后文字立刻变成加粗,你在行首输入 # 和空格后,正文立刻直接变成标题,同时,这些标记符号也会在适当的时候自动消失,在写的时候就让你实时看到最终效果。Obsidian 的实时预览模式和 Typora 都是这种风格。

多说一句,Windows 11 记事本的处理方式还稍微有点特殊,它在渲染Markdown文件后,仍然可以编辑文字内容,但是不能编辑标记符号,也就不能够编辑调整格式,所以也不好说它是纯粹的阅读模式,但它也不是完整的所见即所得的预览模式,可能是产品的中间形态吧。

二、Markdown文档的优势

1. 纯文本格式,内容不会被某个软件锁死

前面说过,Markdown 文件本质就是纯文本文件,基本不依赖任何特定软件。所以用Markdown文档记笔记的一个重要价值就是:你写下的内容都存储在本地,是你自己的资产,不会被某个软件的兴衰绑架。

软件好不好用会变,收费方式会变,产品也可能某天就停更了。但只要内容存在纯文本里,迁移成本就低很多——今天用 Obsidian 写,明天换 Typora 打开,再过几年换别的工具,文件还在,内容就还在。退一万步,就算市面上所有 Markdown 编辑器都消失了,系统自带的记事本能打开,命令行里一条 cat 命令也能直接读出来,只是带了一点标记符号而已。

2. 读写清爽,还能轻松变成网页

写 Markdown 时你看到的是符号,但在 Obsidian、Typora 这类编辑器里打开,会渲染成干净的标题、列表、加粗。它排掉了 Word 里那些字号、字体、颜色的样式干扰,写的时候反而更专注于内容本身——阅读和编辑更清爽。

二期Markdown文件还可以很轻松地转换成网页,你写的一篇Markdown笔记,几乎不用额外排版,发布出去就是一个干净的网页,你写一批 Markdown 文档,发布出去就是一个网站。很多博客平台、文档系统底层都是这么干的。

3. 天然适合和 AI 协作

由于Markdown文档是纯文本文档,天然适合大语言模型进行读写。因此在 AI 时代,懂一点 Markdown,更便于和 AI 协作共创。

在大模型的训练语料里,有大量的Markdown文档,模型也很擅长读取和输出Markdown格式内容,而像.docx 这种文字和格式打包压在一起的文件,大模型在读写前得先”拆包”,区分其中的文字和格式信息,再来思考如何处理。中间多了这么一层处理流程,会降低了大模型的处理效率,也会增加出现纰漏的可能性。

并且,各种AI Agent组织大模型上下文的文档格式,也都建在 Markdown 上:比如SKILL.mdAGENTS.mdCLAUDE.md 这类“给 AI 看的说明书”。懂一点 Markdown,碰到这些东西时心里也更有底。

三、常用标记符号

1. 标题

标题用 # 表示。

# 越多,标题层级越低:

# 一级标题
## 二级标题
### 三级标题

普通文章一般用到二级、三级标题就够了。

标题的作用不是单纯把字变大,而是用层级把内容分层。比如:

# 周末露营计划

## 一、装备清单

## 二、行程安排

## 三、注意事项

2. 加粗/斜体

加粗用左右各两个星号:

**重点内容**

显示出来就是:

重点内容

斜体是左右两边各一个星号:

*稍微强调一下*

显示出来就是:

稍微强调一下

那加粗且斜体就是左右两边各三个星号了。

3. 列表

列表分两种:无序列表和有序列表。

无序列表适合写并列要点:

- 第一项
- 第二项
- 第三项

注意-后面跟着一个空格。显示出来就是:

  • 第一项
  • 第二项
  • 第三项

有序列表适合写步骤:

1. 第一步
2. 第二步
3. 第三步

注意1.后面跟着一个空格。显示出来就是:

  1. 第一步
  2. 第二步
  3. 第三步

列表还可以嵌套:在子项前面加上缩进(通常是一个 Tab 或两/四个空格),它就会降一级,变成上一项的子项:

- 主要装备
    - 帐篷
    - 睡袋
- 食物
    -
    - 干粮

显示出来就是:

  • 主要装备
    • 帐篷
    • 睡袋
  • 食物
    • 干粮

用缩进表示从属关系,可以把内容分出层次。无序列表、有序列表都可以这样嵌套,也可以互相嵌套。

4. 删除线

删除线在文字左右各两个 ~

~~这个方案先放一放~~

显示出来就是:

这个方案先放一放

删除线适合标出”作废但想留个痕迹”的内容,比如改了主意的计划、过时的说法。

5. 引用

引用在行首用 >

> 这是一段引用。

显示出来就是:

这是一段引用。

引用用来标示原文,把引用来的内容和自己的话区分开。

6. 分割线

分割线用三个短横线:

---

渲染出来是一条横贯页面的分割线,用来分隔两个明显不同的部分。


需要注意的是,分割线上面一般需要空一行,如果上面没有空行,直接文字下一行接---的话,一般的编辑器会直接这行文字和---渲染成二级标题。

7. 待办任务

待办任务的写法是:

- [ ] 搜集资料
- [ ] 写初稿
- [x] 检查错别字

其中:

  • [ ] 表示未完成
  • [x] 表示已完成

渲染出来通常类似这样:

  • 搜集资料
  • 写初稿
  • 检查错别字

任务列表适合写计划、待办。

8. 行内代码

行内代码用一对反引号(Tab键上面的按键):

这里是 `settings.json` 文件。

显示出来就是:

这里是 settings.json 文件。

行内代码适合标出文件名、命令、字段名这类特殊词,常见的比如:

  • README.md
  • Ctrl + C
  • title
  • OpenClaw

9. 代码块

如果要保留一整段内容,可以用代码块。

代码块用三个反引号包起来,上面介绍Markdown标记符号的时候,所有的在渲染之前的示例,都是用代码块包裹起来的,通过代码块可以在Markdown文档中看到最原始的标记符号和文字:

```text
这里可以放一整段需要原样保留的内容。
比如提示词、配置、命令、原始材料。
```

渲染之后

这里可以放一整段需要原样保留的内容。
比如提示词、配置、命令、原始材料。

代码块不一定只能放代码,提示词、配置、命令、原始材料都可以放进去。它的作用是告诉读者和工具:这一整段内容需要按原样看待。

10. 表格

Markdown 也可以写表格。主要是通过||之间的---实现,具体如下:

| 项目 | 说明 |
| --- | --- |
| 标题 | 用 # 表示 |
| 列表 | 用 - 或 1. 表示 |
| 加粗 | 用 **内容** 表示 |

| --- | --- |这一行表示表头和表格内容的分割线。 显示出来就是一个简单表格。

项目说明
标题用 # 表示
列表用 - 或 1. 表示
加粗内容 表示

平心而论,Markdown最不好用的地方就是表格,没办法手动调节表格大小,也不能合并单元格。

11. 链接

链接的写法是:

[显示文字](网址)

比如:

[兴之所志](https://www.xingzhisuozhi.com)

前面的方括号里,是读者看到的文字;后面的圆括号里,是真正的网址。 兴之所志

12. 图片

图片的写法和链接很像,只是前面多一个感叹号:

![图片说明](图片地址)

方括号里是图片说明,用来描述这张图是什么,可以啥也不用填;圆括号里是图片地址。

![](Attachments/2026/ChatGPT%20Image%202026年5月29日%2016_32_30.png)

如果后面的地址填写没错的话,就会渲染出相应的图片。

现在优秀的Markdown编辑器基本上可以通过点选图片,或者直接复制粘贴的方式插入图片,避免了手写图片链接地址容易出错的问题。

这里有一个需要讲清楚的点就是:Markdown 文件里存的不是图片本身,而是存放图片的“位置”。前面说过 Markdown 是纯文本,纯文本是无法存储图片的,它没办法像 Word 那样把图片打包进文件,所以Markdown的处理方式是写一个图片地址,告诉编辑器“图片应该从哪里去取”,编辑器渲染时再照着地址把图找出来并显示。

这个地址通常有两种:一种是本地路径,图片存在你电脑的某个文件夹里;另一种是网络地址,图片放在网上,地址是一个 http 开头的网址(专门提供这种存图、返回网址服务的就叫“图床”)。

也正因为 Markdown 存的只是地址、而不是图片本身,处理图片时就有一个常见的麻烦:地址一旦失效,图片就会“裂开”显示不出来——文字还在,图却没了。 本地路径会在你把 .md 文件单独发给别人、移动了图片、或换了台电脑时失效;网络地址会在图片被删、链接改动、图床服务关停时失效。很多人复制 Markdown 笔记给别人的时候,以及剪藏网页后到本地查看的时候,经常容易看到一堆破裂的图片,就是因为文档中引用的外部图片找不到了的缘故。

四、写在最后

以上介绍的是Markdown文件的一些最基础的语法,一般写笔记基本上是够用了,再多了可能也记不住。如果需要了解更复杂的格式,可以根据需要咨询AI或查阅其他资料。

需要说明的是,每个编辑器可能增加一些自己的特殊标记或格式,比如Obsidian的双链[[]],由于我们这里是以Markdown标准语法为准,不涉及到这种特殊格式了。

兴之所志

2026-05-29