Markdown 语法

Markdown 怎么打 emoji?
为什么 :smile: 显示成文字

往 Markdown 里加表情符号有两条路:直接把 emoji 字符(🎉)贴进去,它就是普通文字,在哪都能显示。或者写 :tada: 这种短代码,但只有支持它的平台才会转。如果你现在盯着的正是一串字面的 :smile:,说明你的渲染器属于不转的那大多数。

最稳的办法:把 emoji 字符直接贴进去

emoji 是普通的 Unicode 字符,和一个字母、一个汉字没有本质区别。把 🚀 贴进 .md 文件,任何编辑器、查看器、网站都能显示,因为根本不存在「转换」这一步。

也不用去背对照表,系统自带选择器:

  • Windows:Win + .(句点键)调出面板。
  • macOS:Ctrl + Cmd + 空格

选中的字符像普通文字一样落进文件、随文件保存。只要这个文件以后可能换地方打开,就用这条路。

:smile: 显示成文字的原因

短代码长得像 Markdown 语法,其实不是。CommonMark 和 GFM 两个规范里都没有 emoji 这一条。:smile: 变成 😄,是 GitHub 在自家页面上额外加的功能,少数几个平台也各自做了一套,名字表还不一样。

所以普通 Markdown 编辑器把 :smile: 原样显示时,没有任何东西坏了。编辑器在如实渲染:这串冒号加名字,就是文件里真实存的内容。其他「看起来没渲染」的情况也是同一个思路,第一步先问「我写的到底是不是 Markdown」,排查全集在Markdown 不渲染的常见坑

在支持短代码的平台上,名字拼错也是同样的症状::smiel: 在 GitHub 上照样是一串字,名字必须和它的表完全对上。

短代码在哪能转,在哪原样躺着

平台 :短代码: 贴进去的 emoji 🎉
GitHub(github.com) 转成 emoji 正常显示
GitLab 转成 emoji 正常显示
Slack、Discord(聊天) 转(用它们各自的名字表) 正常显示
VS Code 预览 原样显示(装扩展才转) 正常显示
Obsidian 原样显示 正常显示
NoteLoom 原样显示 正常显示

右边一列就是全部结论:贴进去的字符每一行都正常,不用记任何例外。

文件换地方打开时会怎样

这个差别在文件开始「旅行」时才真正要紧,而 AI 时代的 Markdown 恰恰总在旅行:从 GitHub 下载的 README、AI 给你写的文档、从一个应用挪到另一个应用的笔记。里面的 :tada: 一路都是 11 个普通字符,最后能不能变回 🎉,全看文件落在哪。

贴进去的 emoji 没有这层依赖。它在文件里,就一直在文件里,每一站长一个样。

NoteLoom 就是个现成的例子:它渲染本地 .md 的 CommonMark 和 GFM,短代码保持文字原样,如实反映文件内容。贴进去的 emoji 在源码、编辑、阅读三个视图里都正常显示,改完保存,原样写回你本地的文件。

常见问题

为什么 :smile: 在 GitHub 上是笑脸,在我的编辑器里是一串字?
短代码是 GitHub 自己加的功能,不是 Markdown 语法。CommonMark 和 GFM 规范里都没有 emoji 这一条,所以普通 Markdown 编辑器把 :smile: 原样显示,这是在如实渲染文件内容。
不查对照表,emoji 从哪儿打出来?
用系统自带的选择器:Windows 按 Win + 句点键,Mac 按 Ctrl + Cmd + 空格。选中后插入的是真正的 emoji 字符,不需要短代码。
emoji 会不会把 .md 文件搞坏?
不会。emoji 是普通的 Unicode 字符,和一个汉字没有本质区别,.md 又是纯文本文件。它老老实实存在文件里,复制、移动、换工具打开都不会丢。
NoteLoom 会把 :shortcode: 转成 emoji 吗?
不会。NoteLoom 渲染 CommonMark 和 GFM,这两个规范都不含 emoji 短代码,所以 :tada: 保持原样。直接粘贴的 emoji 字符在三个视图里都正常显示,保存时原样写回你本地的 .md。
短代码的名字在各平台通用吗?
不通用,这也是它容易失灵的另一个原因。GitHub、Slack、Discord 各维护各的名字表,同一个短代码换个地方就可能变回一串字。emoji 字符没有这个问题。
保存再打开,emoji 还在吗?
在。emoji 字符是文本的一部分,写进了 .md 文件,换哪个编辑器重新打开都原样回来。

看看你的文件里真实存了什么

用 Chrome / Edge / Arc 打开 NoteLoom,挂上文件夹:源码视图看原始文本(短代码一目了然),阅读视图看渲染结果。本地文件进,本地文件出,什么都不上传。

打开 NoteLoom 试试