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>

信箱地址會被自動編碼,有一定的反垃圾郵件作用。

圖片

![替代文字](image.png)
![帶標題的圖片](image.png "圖片標題")

語法和連結很像,就是前面多了個 !。標準 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>標準
圖片![alt](url)標準
行內程式碼`程式碼`標準
程式碼區塊```語言GFM
引用> 文字標準
表格豎線+短橫線GFM
分隔線---標準
轉義\字元標準
腳註[^1]擴展

不同平台的 Markdown 命令差異

同一個 Markdown 命令,在不同平台上的表現可能不一樣。我用得比較多的幾個平台列了個對比:

命令GitHubGitLabTyporaObsidian
刪除線
任務列表
表格
腳註部分支援
數學公式
Mermaid 圖表
emoji 短代碼:smile:
@提及
自動目錄[toc]

我在實際使用中發現,GitHub 對腳註的支援比較有限——它的 wiki 頁面不支援腳註,但普通的 issue、PR 和 .md 檔案中支援。如果你的文件需要在多個平台間遷移,建議優先使用標準 Markdown 命令,只在確認所有目標平台都支援時才用擴展語法。

參考來源

  1. CommonMark Spec — https://spec.commonmark.org/
  2. Daring Fireball: Markdown Syntax — https://daringfireball.net/projects/markdown/syntax
  3. 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
  4. Markdown Guide: Basic Syntax — https://www.markdownguide.org/basic-syntax/
  5. Markdown — Wikipedia — https://en.wikipedia.org/wiki/Markdown