Skip to content

Ký tự thoát

Ký tự thoát cho phép bạn hiển thị các ký tự vốn có ý nghĩa đặc biệt trong Markdown. Bằng cách thêm dấu gạch chéo ngược \ trước ký tự, bạn có thể vô hiệu hóa chức năng đặc biệt của nó.

Khái niệm cơ bản về thoát ký tự

Thế nào là "thoát ký tự"

Trong Markdown, một số ký tự có ý nghĩa đặc biệt (ví dụ * dùng để nhấn mạnh). Khi muốn hiển thị chính ký tự đó, bạn cần dùng ký tự thoát.

markdown
Đây là văn bản *in nghiêng*.
Đây là văn bản với \*dấu sao thông thường\*.

Kết quả hiển thị:

Đây là văn bản in nghiêng. Đây là văn bản với *dấu sao thông thường*.

Những ký tự cần thoát

Danh sách đầy đủ

Các ký tự dưới đây có ý nghĩa đặc biệt trong Markdown và cần được thoát:

Ký tựMô tảCách thoátCông dụng
\Gạch chéo ngược\\Ký tự thoát
`Backtick\`Mã nội tuyến
*Dấu sao\*Nhấn mạnh, danh sách
_Gạch dưới\_Nhấn mạnh
{}Ngoặc nhọn\{ \}Cú pháp mở rộng
[]Ngoặc vuông\[ \]Liên kết, hình ảnh
()Ngoặc tròn\( \)Liên kết, hình ảnh
#Dấu thăng\#Tiêu đề
+Dấu cộng\+Danh sách
-Dấu gạch\-Danh sách, đường kẻ
.Dấu chấm\.Danh sách có thứ tự
!Dấu chấm than\!Hình ảnh

Ví dụ thoát ký tự thường dùng

Dấu sao và gạch dưới

markdown
❌ Không thoát:
Tên tệp là file_name_v2.txt
Công thức là 2*3*4 = 24

✅ Thoát ký tự:
Tên tệp là file\_name\_v2.txt
Công thức là 2\*3\*4 = 24

Kết quả hiển thị:

❌ Không thoát: Tên tệp là file_name_v2.txt Công thức là 234 = 24

✅ Thoát ký tự: Tên tệp là file_name_v2.txt Công thức là 2*3*4 = 24

Dấu thăng (#) trong tiêu đề

markdown
❌ Không thoát:
# TODO: Hoàn thành nhiệm vụ

✅ Thoát ký tự:
\# TODO: Hoàn thành nhiệm vụ

Kết quả hiển thị:

❌ Không thoát:

TODO: Hoàn thành nhiệm vụ

✅ Thoát ký tự: # TODO: Hoàn thành nhiệm vụ

Ký hiệu danh sách

markdown
❌ Không thoát:
Giá: 100 - 200 NDT
Các bước: 1. Chuẩn bị 2. Thực hiện

✅ Thoát ký tự:
Giá: 100 \- 200 NDT
Các bước: 1\. Chuẩn bị 2\. Thực hiện

Kết quả hiển thị:

❌ Không thoát: Giá: 100 - 200 NDT Các bước: 1. Chuẩn bị 2. Thực hiện

✅ Thoát ký tự: Giá: 100 - 200 NDT Các bước: 1. Chuẩn bị 2. Thực hiện

Cú pháp liên kết

markdown
❌ Không thoát:
Xem tài liệu [tại đây](http://example.com)

✅ Thoát (để hiển thị cú pháp gốc):
Xem tài liệu \[tại đây\]\(http://example.com\)

Kết quả hiển thị:

❌ Không thoát: Xem tài liệu tại đây

✅ Thoát (hiển thị cú pháp gốc): Xem tài liệu [tại đây](http://example.com)

Xử lý các trường hợp đặc biệt

Chính ký tự gạch chéo ngược

Để hiển thị dấu gạch chéo ngược, cần dùng hai dấu liền nhau:

markdown
Đường dẫn tệp: C:\\Users\\Username\\Documents
Đường dẫn Unix: /home/user/documents

Kết quả hiển thị:

Đường dẫn tệp: C:\Users\Username\Documents Đường dẫn Unix: /home/user/documents

Thoát backtick

Hiển thị backtick trong mã:

markdown
Dùng `` \` `` để bao mã nội tuyến
Dùng ``` \`\`\` ``` để tạo khối mã

Kết quả hiển thị:

Dùng \` để bao mã nội tuyến Dùng \`\`\` để tạo khối mã

Gạch chéo ngược ở cuối dòng

Ký tự \ ở cuối dòng có ý nghĩa đặc biệt (xuống dòng cưỡng bức):

markdown
Dòng thứ nhất\
Dòng thứ hai (xuống dòng cưỡng bức)

Dòng thứ nhất\\
Dòng thứ hai (hiển thị dấu \\\)

Kết quả hiển thị:

Dòng thứ nhất
Dòng thứ hai (xuống dòng cưỡng bức)

Dòng thứ nhất\ Dòng thứ hai (hiển thị dấu \)

Thoát ký tự trong mã

Mã nội tuyến

Trong mã nội tuyến, hầu hết ký tự không cần thoát:

markdown
Mã: `let result = 2 * 3 + 1;`
Đường dẫn: `C:\\Users\\*\\Documents`

Kết quả hiển thị:

Mã: let result = 2 * 3 + 1; Đường dẫn: C:\\Users\\*\\Documents

Khối mã

Trong khối mã, các ký tự được giữ nguyên dạng:

markdown
```javascript
// Những ký hiệu này không cần thoát
const pattern = /[.*+?^${}()|[\]\\]/g;
const path = "C:\\Users\\*\\Documents";
```

Kết quả hiển thị:

javascript
// Những ký hiệu này không cần thoát
const pattern = /[.*+?^${}()|[\]\\]/g;
const path = "C:\\Users\\*\\Documents";

Tình huống áp dụng thực tế

1. Tài liệu kỹ thuật

markdown
## Cú pháp tệp cấu hình

Tệp cấu hình dùng định dạng sau:

# Dòng chú thích key = value [section]


Lưu ý:
- Dùng \# để bắt đầu chú thích
- Dùng \[\] để định nghĩa section
- Dùng \* để biểu thị wildcard

2. Biểu thức toán học

markdown
## Công thức toán học

Phương trình tuyến tính: y = a\*x + b
Phương trình bậc hai: y = a\*x² + b\*x + c
Phân số: 1/2 = 0.5

Lưu ý: dùng \* để biểu diễn phép nhân

3. Đường dẫn tệp

markdown
## Hệ thống tệp

Đường dẫn Windows:
- Thư mục hệ thống: C:\\Windows\\System32
- Thư mục người dùng: C:\\Users\\{username}
- Thư mục chương trình: C:\\Program Files\\*

Đường dẫn Linux:
- Thư mục gốc: /
- Thư mục người dùng: /home/{username}
- Wildcard: /var/log/\*.log

4. Giải thích các ký hiệu đặc biệt

markdown
## Ý nghĩa ký hiệu

Trong lập trình:
- \* thường biểu thị con trỏ hoặc wildcard
- \_ dùng trong quy ước đặt tên (ví dụ \_private)
- \# dùng cho chú thích hoặc chỉ thị tiền xử lý
- \[\] biểu thị mảng hoặc tham số tùy chọn
- \{\} biểu thị khối mã hoặc placeholder

Thực hành tốt khi thoát ký tự

1. Chỉ thoát khi cần

markdown
✅ Khuyến nghị: Chỉ thoát các ký tự có thể gây mơ hồ
Tên tệp: config.txt
Giá: $10-20

❌ Không khuyến nghị: Thoát quá mức cần thiết
Tên tệp: config\.txt
Giá: \$10\-20

2. Giữ tính nhất quán

markdown
✅ Khuyến nghị: Phong cách thoát ký tự nhất quán
Tên biến: user\_id, item\_count, max\_size

❌ Không khuyến nghị: Xử lý không nhất quán
Tên biến: user_id, item\_count, max_size

3. Dùng định dạng mã

Khi có nhiều ký tự đặc biệt, hãy cân nhắc dùng định dạng mã:

markdown
✅ Khuyến nghị: Dùng định dạng mã
Cú pháp cấu hình: `[section]``key=value`

❌ Không khuyến nghị: Thoát hàng loạt
Cú pháp cấu hình: \[section\] và key\=value

Lỗi thường gặp

1. Quên thoát ký tự

markdown
❌ Sai:
Tên GitHub của tôi là user_name
Hàm này tên là get_data()

✅ Đúng:
Tên GitHub của tôi là user\_name
Hàm này tên là get\_data()

2. Thoát quá mức

markdown
❌ Sai:
Hôm nay là 12\-25
Tệp này là README\.md

✅ Đúng:
Hôm nay là 12-25  
Tệp này là README.md

3. Sai ngữ cảnh

markdown
❌ Sai: Thoát ký tự bên trong khối mã

let path = "C:\\Users\\Name"; ← Không cần thoát kép


✅ Đúng:

let path = "C:\Users\Name";

Đầu ra HTML

HTML sau khi thoát ký tự:

markdown
Đây là văn bản với \*dấu sao\*

Chuyển thành:

html
<p>Đây là văn bản *dấu sao*</p>

Trình soạn thảo và công cụ

Trình soạn thảo hỗ trợ xem trước việc thoát ký tự

  • Visual Studio Code: Markdown Preview Enhanced
  • Typora: Xem trước theo thời gian thực
  • Mark Text: WYSIWYG
  • Obsidian: Kết xuất theo thời gian thực

Công cụ kiểm tra quy tắc thoát

markdown
<!-- Quy tắc markdownlint -->
MD049: Tính nhất quán dấu nhấn mạnh
MD050: Kiểu nhấn mạnh

Cú pháp liên quan

Bài tập

Hãy thử hiển thị chính xác các nội dung sau:

  1. Đường dẫn tệp: C:\Program Files\*\config.ini
  2. Tên biến: user_id, file_name, max_count
  3. Biểu thức toán: 2*x + 3*y = 15
  4. Cú pháp cấu hình: [section]key=value
  5. Cú pháp Markdown: **đậm***nghiêng*

Bảng tham chiếu

Tra cứu nhanh các thoát ký tự thường dùng

Ký tự gốcSau khi thoátGiải thích
\\\Gạch chéo ngược
*\*Dấu sao
_\_Gạch dưới
#\#Dấu thăng
[\[Ngoặc vuông trái
]\]Ngoặc vuông phải
(\(Ngoặc tròn trái
)\)Ngoặc tròn phải
+\+Dấu cộng
-\-Dấu gạch/ghạch nối
.\.Dấu chấm
!\!Dấu chấm than

Được xây dựng bởi www.markdownlang.com