Markdown 命令大全 - 所有 Markdown 語法命令完整參考
Markdown 的「命令」其實就是各種標記符號——用特定的字元組合告訴渲染器「這段文字該怎麼顯示」。和 HTML 不同,Markdown 的設計初衷就是讓你在純文字狀態下也能一眼看懂內容結構。
這篇文章把所有常用的 Markdown 命令(也叫語法命令或格式化標記)整理在一起,每條命令都有語法範例、效果說明和平台相容性標註。最後還附了一張速查表,方便你隨時翻閱。
文字格式化命令
粗體
用兩個星號或兩個底線包裹文字:
**這段文字會粗體顯示**
__這也會粗體__效果:這段文字會粗體顯示
建議用星號。底線在單字中間時可能不會觸發粗體(例如 a__b__c 不會粗體),而星號沒有這個問題。這個差異在 CommonMark 規範中有明確說明。
斜體
一個星號或一個底線:
*斜體文字*
_也是斜體_效果:斜體文字
同樣建議用星號,理由和粗體一樣——底線在單字內部會被當作普通字元。
粗體 + 斜體
三個星號或三個底線:
***粗體且斜體***
___也一樣___效果:粗體且斜體
刪除線
兩個波浪號:
~~被刪除的文字~~效果:被刪除的文字
這是 GFM(GitHub Flavored Markdown)擴展,不是原始 Markdown 規範的一部分。不過現在大多數主流編輯器和平台都支援了,包括 Typora、VS Code 預覽、GitLab、Obsidian 等。
標題命令
用 # 號表示標題層級,1 到 6 個 # 對應 H1 到 H6:
## 二級標題
### 三級標題
#### 四級標題
##### 五級標題
###### 六級標題幾個要注意的細節:
#後面必須跟一個空格,否則很多解析器不會把它識別為標題- 一個文件建議只用一個 H1,通常作為文章標題
- H4 以下在大多數渲染器中視覺效果和正文差別不大,實際用得最多的是 H2 和 H3
對了,還有一種舊式的 Setext 風格標題(用 = 和 - 底線),只支援兩級:
一級標題
========
二級標題
--------這種寫法在一些舊文件裡還能看到,但新專案基本都改用 # 了。
列表命令
無序列表
用 -、* 或 + 開頭(三選一,效果一樣):
- 第一項
- 第二項
- 巢狀子項(縮排 2 空格或 4 空格)
- 第三項- 第一項
- 第二項
- 巢狀子項
- 第三項
說實話,我一般固定用 -,這樣整個文件風格統一。混用雖然不會出錯,但看著不整齊。
有序列表
數字加句點:
1. 打開編輯器
2. 寫 Markdown
3. 儲存檔案有個不少人不知道的特性:有序列表的實際數字不影響渲染結果。你可以全寫 1.:
1. 打開編輯器
1. 寫 Markdown
1. 儲存檔案渲染出來還是 1、2、3。這個設計很貼心——插入或刪除項目時不用重新編號。我在寫長文件的時候一直用這個技巧,維護起來方便很多。
任務列表
方括號加空格或 x:
- [x] 已完成的任務
- [ ] 未完成的任務
- [ ] 另一個待辦項- [x] 已完成的任務
- [ ] 未完成的任務
這是 GFM 擴展,在 GitHub 的 issue 和 PR 裡特別常用。Obsidian 和 Typora 也支援。
連結與圖片命令
行內連結
[連結文字](https://example.com)
[帶提示的連結](https://example.com "滑鼠懸停提示")引用式連結
適合連結重複出現或 URL 很長的情況:
我喜歡用 [Google][1] 搜尋,也經常用 [Google][1] 查資料。
[1]: https://google.com "Google 搜尋"引用式連結在渲染效果上和行內連結完全一致,但原始碼可讀性更好。如果你寫過技術文件,特別是同一個連結出現多次的場景,你會發現引用式連結維護起來輕鬆很多——改 URL 只需要改一個地方。
自動連結
尖括號包裹 URL 或信箱:
<https://example.com>
<user@example.com>信箱地址會被自動編碼,有一定的反垃圾郵件作用。
圖片

語法和連結很像,就是前面多了個 !。標準 Markdown 不支援調整圖片大小,需要用 HTML:
<img src="image.png" alt="描述" width="300">程式碼命令
行內程式碼
單個反引號:
使用 `console.log()` 列印輸出。效果:使用 console.log() 列印輸出。
程式碼區塊
三個反引號包裹,可以指定語言做語法高亮:
```python
def hello():
print("Hello, Markdown!")
支援的語法高亮語言取決於你使用的平台。GitHub 用 Linguist 函式庫支援幾百種語言,Typora 用的是 highlight.js,兩者覆蓋面都很廣。
### 程式碼區塊裡顯示反引號
當程式碼內容本身包含三個反引號時,外層用四個反引號:
````markdown
````markdown
```javascript
console.log("巢狀程式碼區塊");
引用命令
右尖括號:
> 這是一段引用文字。
> 可以寫很多行。
>
> 空一行分段。
> 巢狀引用
>> 第二層
>>> 第三層這是一段引用文字。 可以寫很多行。
引用區塊裡可以用其他 Markdown 命令(粗體、連結、列表等),不限制。
表格命令
用豎線和短橫線建構:
| 命令 | 語法 | 說明 |
|------|------|------|
| 粗體 | `**文字**` | 兩個星號 |
| 斜體 | `*文字*` | 一個星號 |
| 連結 | `[文字](url)` | 方括號+圓括號 |對齊方式用冒號控制:
| 置左 | 置中 | 置右 |
|:-----|:----:|-----:|
| 內容 | 內容 | 內容 |:---置左(預設):---:置中---:置右
表格是 GFM 擴展。在表格內部,豎線需要用 \| 轉義。另外表格裡不能用區塊級元素(標題、列表、程式碼區塊等),這點經常被忽略,導致渲染結果不符合預期。
分隔線命令
三個或更多的 -、* 或 _:
---
***
___三條線渲染效果一樣。建議用 ---,因為星號和底線有歧義(雖然上下各空一行就沒問題)。
轉義命令
反斜線 \ 可以轉義以下 12 個特殊字元:
\* \# \| \[ \] \(\) \{ \} \` \. \! \_
\*這不會變成斜體\*
\# 這不會變成標題我踩過的一個坑:在表格裡寫 | 字元,如果忘了轉義,表格結構直接亂掉。後來養成了習慣——表格內出現任何特殊字元都先轉義。
腳註命令
這裡有一個腳註引用[^1],後面還有另一個[^note]。
[^1]: 這是第一個腳註的內容。
[^note]: 命名腳註也可以。腳註的渲染位置由渲染器決定(通常在頁面底部)。這個功能在 Obsidian、Typora、Pandoc 中支援良好,但 GitHub 的 wiki 頁面不支援。
HTML 行內語法
當 Markdown 命令不夠用時,可以直接寫 HTML:
<mark>高亮文字</mark>
<kbd>Ctrl</kbd> + <kbd>C</kbd>
<sub>下標</sub>
<sup>上標</sup>
<br>規則是:區塊級 HTML 標籤(<div>、<p> 等)內部的 Markdown 語法不會被處理;行內 HTML 標籤(<span>、<strong> 等)內部的 Markdown 語法正常處理。這個規則來自原始 Markdown 規範的設計,值得了解。
Markdown 命令速查表
下面這張表覆蓋了最常用的 Markdown 語法命令,可以當作日常參考卡使用。
| 命令名稱 | 語法 | 類型 |
|---|---|---|
| 粗體 | **文字** | 標準 |
| 斜體 | *文字* | 標準 |
| 粗體斜體 | ***文字*** | 標準 |
| 刪除線 | ~~文字~~ | GFM |
| 一級標題 | # 標題 | 標準 |
| 二級標題 | ## 標題 | 標準 |
| 三級標題 | ### 標題 | 標準 |
| 無序列表 | - 項目 | 標準 |
| 有序列表 | 1. 項目 | 標準 |
| 任務列表 | - [x] 項目 | GFM |
| 行內連結 | [文字](url) | 標準 |
| 引用連結 | [文字][id] | 標準 |
| 自動連結 | <url> | 標準 |
| 圖片 |  | 標準 |
| 行內程式碼 | `程式碼` | 標準 |
| 程式碼區塊 | ```語言 | GFM |
| 引用 | > 文字 | 標準 |
| 表格 | 豎線+短橫線 | GFM |
| 分隔線 | --- | 標準 |
| 轉義 | \字元 | 標準 |
| 腳註 | [^1] | 擴展 |
不同平台的 Markdown 命令差異
同一個 Markdown 命令,在不同平台上的表現可能不一樣。我用得比較多的幾個平台列了個對比:
| 命令 | GitHub | GitLab | Typora | Obsidian |
|---|---|---|---|---|
| 刪除線 | ✅ | ✅ | ✅ | ✅ |
| 任務列表 | ✅ | ✅ | ✅ | ✅ |
| 表格 | ✅ | ✅ | ✅ | ✅ |
| 腳註 | 部分支援 | ✅ | ✅ | ✅ |
| 數學公式 | ✅ | ✅ | ✅ | ✅ |
| Mermaid 圖表 | ✅ | ✅ | ✅ | ✅ |
| emoji 短代碼 | ✅ :smile: | ✅ | ✅ | ❌ |
| @提及 | ✅ | ✅ | ❌ | ❌ |
| 自動目錄 | ❌ | ❌ | ✅ [toc] | ❌ |
我在實際使用中發現,GitHub 對腳註的支援比較有限——它的 wiki 頁面不支援腳註,但普通的 issue、PR 和 .md 檔案中支援。如果你的文件需要在多個平台間遷移,建議優先使用標準 Markdown 命令,只在確認所有目標平台都支援時才用擴展語法。
參考來源
- CommonMark Spec — https://spec.commonmark.org/
- Daring Fireball: Markdown Syntax — https://daringfireball.net/projects/markdown/syntax
- GitHub Docs: Basic Writing and Formatting Syntax — https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax
- Markdown Guide: Basic Syntax — https://www.markdownguide.org/basic-syntax/
- Markdown — Wikipedia — https://en.wikipedia.org/wiki/Markdown