3 điểm bởi GN⁺ 2026-01-12 | 1 bình luận | Chia sẻ qua WhatsApp
  • Cú pháp Org Mode được giới thiệu là một ngôn ngữ đánh dấu nhẹ trực quan và nhất quán có thể dùng cả ngoài Emacs
  • Cú pháp cơ bản như tiêu đề, danh sách, định dạng, liên kết có cấu trúc đơn giản và dễ nhớ, đồng thời có độ nhất quán trong biểu đạt cao hơn các ngôn ngữ khác
  • Khác với nhiều biến thể khác nhau của Markdown, Org Mode duy trì một dạng tương đối chuẩn hóa xoay quanh một triển khai duy nhất (Emacs Org-mode)
  • Có thể chuyển đổi bằng nhiều công cụ như Pandoc, và ngay cả khi không dùng Emacs vẫn có thể soạn thảo dễ dàng trong trình soạn thảo văn bản thông thường
  • Ngay cả trong số các ngôn ngữ đánh dấu nhẹ, nó nổi bật về tính dễ đọc, khả năng bảo trì và hỗ trợ công cụ, và được nhấn mạnh như một phương án thay thế cho việc viết tài liệu dựa trên văn bản thuần

Tổng quan về cú pháp Org Mode

  • Cú pháp Org Mode không phụ thuộc vào Emacs và có thể dùng trong vim, Atom, Notepad, v.v. trên mọi trình soạn thảo văn bản
    • Tiêu đề biểu diễn phân cấp bằng *, **, ** *
    • Định dạng văn bản dùng các dạng *bold*, /italic/, _underlined_, +strikethrough+, =monospaced=
    • Liên kết đơn giản với cú pháp [[URL][mô tả]]
    • Cũng hỗ trợ danh sách (-, 1.), hộp kiểm ([ ], [X]), khối mã (#+BEGIN_SRC ... #+END_SRC) v.v.
  • Bảng (table) thì khó căn chỉnh thủ công, nhưng ngay cả khi bỏ qua việc căn lề thì cú pháp vẫn được nhận diện
  • Người dùng có thể tự nhiên nắm được cú pháp mà không cần bảng ghi nhớ riêng

Tính chuẩn hóa và vấn đề của Markdown

  • Markdown gây ra vấn đề tương thích do có nhiều chuẩn phái sinh (Original, Extra, MultiMarkdown, GitHub Flavored, CommonMark, v.v.)
    • Dù cùng là “Markdown”, cú pháp vẫn khác nhau tùy công cụ, dẫn đến mất dữ liệugiảm tính tiện dụng
  • Org Mode có toàn bộ cú pháp được định nghĩa dựa trên một triển khai duy nhất là Emacs Org-mode, nên có thể diễn giải nhất quán
    • Các công cụ phái sinh hoạt động dưới dạng tập con (subset) của bản gốc
    • Phần mở rộng tệp luôn được thống nhất là .org
  • Dù không có tài liệu tiêu chuẩn chính thức, triển khai Emacs đóng vai trò là tiêu chuẩn thực tế (golden standard)

So sánh về tính nhất quán và khả năng sử dụng

  • Cú pháp tiêu đề: Org Mode chỉ dùng tiền tố * để biểu diễn phân cấp một cách đơn giản
    • Trong khi Markdown, AsciiDoc, reStructuredText, v.v. có cấu trúc phức tạp và thiếu đồng nhất như tiền tố, hậu tố hoặc gạch dưới
    • Một số ngôn ngữ còn cho phép trộn kiểu, làm tăng thêm sự rối rắm
  • Cú pháp liên kết: [[URL][văn bản]] của Org Mode tuy đơn giản, nhưng
    • [văn bản](URL) của Markdown hay `văn bản <URL>`_ của reStructuredText lại có tổ hợp ký hiệu phức tạp và thiếu nhất quán
  • Cú pháp định dạng: Org Mode dùng /italic/, *bold*, ~monospace~, +strikethrough+ với cấu trúc cặp ký hiệu nhất quán
    • Markdown dùng _italic_, **bold**, ~~strike~~ v.v. với số lượng ký hiệu và quy tắc không đồng đều

Sự thuận tiện khi nhập liệu và tính độc lập với công cụ

  • Org Mode có ít ký tự thừa phải nhập, không yêu cầu căn chỉnh thủ công hay cú pháp phức tạp
  • Ngay cả ngoài Emacs, văn bản viết bằng cú pháp Org Mode vẫn có thể được chuyển đổi qua Pandoc sang nhiều định dạng như HTML, PDF, Word
  • GitHub, GitLab cũng có thể render tệp Org, và nó vẫn hiệu quả cả trong môi trường soạn thảo văn bản đơn giản
  • Bài viết nhấn mạnh rằng “càng ở trong môi trường thiếu hỗ trợ công cụ, cú pháp Org Mode càng hữu ích

Hỗ trợ công cụ trong Emacs

  • Trong Emacs, khi viết bằng Org Mode có thể thao tác cấu trúc bằng TAB, Alt+mũi tên, Ctrl+Return v.v.
    • Hỗ trợ tự động cho việc gập/mở tiêu đề, di chuyển danh sách, di chuyển hàng/cột trong bảng v.v.
  • Cũng có thể tiếp cận theo kiểu dùng menu, và ngay cả không cần học phím tắt vẫn có thể viết hiệu quả
  • Dù không bắt buộc phải dùng Emacs, nếu dùng thì nó mang lại trải nghiệm chỉnh sửa ngôn ngữ đánh dấu mạnh mẽ nhất
  • Markdown, AsciiDoc, reStructuredText v.v. không có mức hỗ trợ công cụ tương đương

Kết luận và đề xuất Orgdown

  • Mục tiêu của ngôn ngữ đánh dấu nhẹ là sự ngắn gọn và hiệu quả, và Org Mode có thiết kế hợp lý nhất ở điểm này
  • Markdown, AsciiDoc, reStructuredText v.v. có tính sử dụng thấp hơn do thiếu nhất quán và cú pháp phức tạp
  • Org Mode có đường cong học tập thấp, độc lập với công cụ và khả năng tương thích chuyển đổi cao
  • Sau năm 2021, từ các thảo luận như vậy đã xuất hiện một nỗ lực chuẩn hóa mới mang tên Orgdown
    • Được giới thiệu là một dự án chuẩn hóa ngôn ngữ đánh dấu nhẹ độc lập dựa trên cú pháp Org Mode

Thảo luận bổ sung và phản hồi

  • Một số người dùng chỉ ra sự thiếu vắng tiêu chuẩn chính thức của Org Mode
    • Có tồn tại khác biệt trong cách diễn giải giữa Emacs và Pandoc, nhưng triển khai Emacs vẫn được xem là chuẩn thực tế
  • Cũng có phản hồi về chức năng tham chiếu liên kết của reStructuredText, nhưng
    • Tác giả vẫn đánh giá Org Mode là ngôn ngữ đánh dấu nhẹ logic và dễ nhớ nhất
  • Kết luận lại, Org Mode được đưa ra như một phương án thay thế hợp lý cho việc soạn tài liệu văn bản thuần vượt ra ngoài hệ sinh thái Emacs

1 bình luận

 
GN⁺ 2026-01-12
Ý kiến trên Hacker News
  • Tôi bắt đầu dùng Emacs khi chuyển từ Evernote sang org-mode vào năm 2016
    Giờ tôi dùng org-mode cho mọi dự án, tác vụ và quản lý tri thức. Có file còn vượt quá 15MB
    Ban đầu tôi chỉ dùng các tiêu đề đơn giản, nhưng mỗi khi cần thì tính năng cần thiết đều đã có sẵn. Tôi nghĩ hiếm có công cụ nào vừa dễ dùng vừa có khả năng mở rộng mạnh mẽ như vậy
    • Tôi tò mò không biết nó xử lý rich text như PDF, hình ảnh, HTML thế nào. Evernote hỗ trợ phần đó rất tốt nên tôi vẫn chưa rời được
    • Tôi cũng đã dùng org-mode vài năm nay, nhưng chỉ dùng các tiêu đề cơ bản, định dạng, liên kết và khối mã
      Nếu có tính năng nâng cao nào đáng học sâu hơn thì tôi rất muốn được gợi ý
    • 15MB chắc vào khoảng 3 triệu từ. Gần bằng 60 cuốn tiểu thuyết, thật đáng kinh ngạc
  • Bản thân định dạng org đã trực quan, nhưng sức mạnh thực sự đến từ sự tích hợp với Emacs
    Nó có thể dùng cho quản lý thông tin cá nhân (PIM), soạn tài liệu, ghi chú, phím tắt tự động hóa, v.v.
    Thay vì chỉ dùng như một định dạng thay thế Markdown, nó thực sự tỏa sáng trong hệ sinh thái Emacs
    • Tôi nghĩ giá trị của org sẽ còn lớn hơn nếu định dạng org được chấp nhận rộng rãi như Markdown cả ngoài Emacs
      Bài viết của Karl Voit cho rằng cú pháp org nhất quán và gọn hơn Markdown
      Trong thế giới công nghệ, định dạng tốt hơn không phải lúc nào cũng thắng, nhưng tôi vẫn nghĩ đáng để tiếp tục ủng hộ
    • Tôi cũng dùng Markdown mỗi ngày, nhưng trên thực tế lại thấy orgdown thực dụng hơn
      Bài viết liên quan cũng nhấn mạnh điểm đó
  • Tôi viết toàn bộ sách của mình bằng Markdown
    Trước đây tôi dùng XML nhưng quá rườm rà nên đã đổi. Tôi tạo HTML và PDF bằng quy trình làm việc dựa trên Pandoc
    Gần đây tôi dùng Typst để tạo PDF nhanh hơn.
    Tôi đã làm dự án xml2typ để tạo PDF nhanh hơn rất nhiều so với Pandoc/LaTeX
    • Typst có thể tạo PDF trực tiếp, nên tôi tò mò không biết có lý do gì để vẫn đi qua docbook và xsltproc không
    • Tôi đã xem kho mã rồi. Sẽ hay hơn nếu có cả kết quả PDF cuối cùng của test.md
  • Từ lâu tôi đã đề xuất org như một định dạng trao đổi giữa các công cụ năng suất
    org có thể hợp nhất bookmark, PKM và quản lý việc cần làm
    Nhưng trong thời đại AI, Markdown đang trở thành định dạng mặc định để huấn luyện LLM
    Dù vậy LLM cũng xử lý org rất tốt, nên cả hai vẫn có chỗ để cùng tồn tại
    Xem bài đề xuất liên quan
    • Trọng tâm bài viết của tôi là cú pháp của org-mode (orgdown). Những công cụ như Sharepoint hay Jira là chuyện khác
    • Tôi vẫn cho rằng ConnectedText vượt org về khả năng tìm kiếm và độ ổn định
      Đáng tiếc là nó không được mã nguồn mở. Đây là ví dụ cho thấy giới hạn của dự án do một người phát triển duy nhất (SPOF)
    • Theo kinh nghiệm của tôi, LLM cũng xử lý org-mode rất tốt. Trên Internet có đủ dữ liệu org để học
  • Tôi đã quản lý cuộc đời mình bằng org-mode suốt 10 năm
    Nhờ Beorg cho iOS nên tôi cũng dùng rất tốt trên di động
    Tôi đã tăng năng suất với org-ql, org-super-agenda
    Tôi ghi lại nhật ký công việc hằng ngày bằng file org, và điều đó cực kỳ hữu ích khi đánh giá cuối năm
    • Tôi muốn giới thiệu tiện ích mở rộng trình duyệt BrainTool của mình
      Nó đồng bộ bookmark và tab với file org để có thể quản lý như TODO
    • Tôi cũng đang suy nghĩ về cấu trúc nhật ký. Tôi thích các heading theo ngữ cảnh hơn là theo ngày tháng
      Tôi tò mò bạn tổ chức liên kết giữa các file như thế nào. Tôi cũng đang cân nhắc denote
  • Tôi lại thấy việc biểu diễn HTML hay LaTeX phức tạp bằng org-mode còn khó hơn
    Vì vậy những thứ phức tạp tôi cứ viết trực tiếp bằng HTML hay LaTeX gốc
    Bản thân chương trình org-mode thì tuyệt vời, nhưng nếu chỉ nhìn riêng cú pháp thì Markdown thực dụng hơn
    Khi tôi chuyển blog từ org sang Markdown, mã ngắn gọn hơn và tốc độ nhanh hơn 50 lần
    • Ngược lại, tôi đã chuyển từ Markdown sang org
      Tôi tạo một trình dựng trang web dựa trên Bash bằng dự án shite, và chèn trực tiếp các khối HTML vào trong org
      Tính năng org-edit-special, cho phép chỉ chỉnh sửa phần HTML, cực kỳ hữu ích
    • Nếu dùng khối mã (#+BEGIN_SRC html) thì còn có thể highlight theo từng ngôn ngữ
      Tạo phím tắt bằng yasnippet thì rất tiện
    • Trong org có thể chèn HTML/LaTeX rất dễ
      Từ năm 2009 tôi đã viết mọi tài liệu Beamer bằng org
      Tôi cũng đã thêm hỗ trợ org cho blog Pelican bằng plugin Python
    • Tôi cũng đã chuyển blog từ org sang Markdown
      org là một ý tưởng tuyệt vời nhưng vấn đề là thiếu tính tương thích. Markdown được hỗ trợ ở khắp nơi nên là lựa chọn thực tế hơn
  • Markdown đã trở thành markup nhẹ tiêu chuẩn
    Dù org-mode có hợp lý đến đâu, dùng Markdown làm mặc định vẫn là lựa chọn thực tế hơn vì tính phổ biến
    • Nên nghĩ Markdown là danh từ, còn Org-mode là động từ (một hệ thống)
      Đây không chỉ là so sánh định dạng đơn thuần mà là hai công cụ có cách vận hành hoàn toàn khác nhau
      Markdown chỉ có cấu trúc, còn Org bao gồm trạng thái và logic thực thi
      Vì thế tranh luận về “lựa chọn mặc định” là vô nghĩa. Mỗi thứ phù hợp với một mục đích khác nhau
    • Ý là định dạng file cá nhân cũng phải chọn theo độ phổ biến sao?
      Không có lý do gì để bảo người đang dùng org-mode phải bỏ nó cả
    • Cuối cùng thì đây là vấn đề sở thích. Cũng như LaTeX vs Typst, cứ chọn môi trường hợp với mình là được
    • Tôi thấy Markdown nhìn đẹp hơn ở trạng thái văn bản thuần
      Heading bằng dấu sao của org trông hơi rối mắt. Dù vậy tôi lại thích cách viết in nghiêng của nó
    • Markdown có rất nhiều sự mơ hồ và vấn đề tương thích
      Mỗi implementation lại khác nhau, còn các tính năng như bảng hay chú thích cuối trang cũng tồn tại riêng dưới dạng extension
      Ưu điểm duy nhất của nó là tính phổ quát
  • Gần đây tôi bắt đầu dùng gemtext(.gmi) của Gemini thay cho Markdown
    Nó ít tính năng hơn nhưng đơn giản và dễ phân tích cú pháp. Liên kết bắt đầu bằng =>, và việc tách đoạn cũng rất rõ ràng
    Trình phân tích của tôi chỉ khoảng 70 dòng mà đã bao phủ được 95% tính năng của Markdown
    • Tôi cũng thích gemtext. Chỉ cần heading và liên kết đơn giản là đủ
      Tuy vậy, việc coi xuống dòng là phân tách đoạn văn thì hơi bất tiện.
      Dùng xuống dòng kép để tách đoạn như Pandoc Markdown sẽ tốt hơn
  • Điểm mạnh lớn nhất của org-mode là chức năng macro
    Tôi viết giáo trình trực tuyến bằng org-mode và mỗi học kỳ lại xuất ra HTML
    Tôi tự động hóa việc mở rộng văn bản, đánh giá elisp, v.v. bằng macro
    Ví dụ, {{{NOUN-C}}} sẽ đổi thành “Clause” hoặc “Rule” tùy ngữ cảnh
    Ngày tháng ở đầu trang cũng được tạo tự động bằng elisp.
    Tôi dùng dịch vụ hosting site44.com tích hợp với Dropbox nên chỉ cần lưu là nội dung lên web ngay
  • org-mode vẫn chưa có đặc tả (spec) chính thức
    Vì thế gần như không có công cụ nào khác hỗ trợ tốt. Trong khi đó CommonMark đã được chuẩn hóa
    Tôi sẽ tiếp tục dùng CommonMark
    • Việc thiếu đặc tả không nhất thiết là thứ cản bước org. Markdown cũng thành công nhờ sự đơn giản và khả năng tích hợp
      Việc các trang như Reddit chọn Markdown thực ra lại là một quyết định tốt
    • Tài liệu org-syntax đóng vai trò như một dạng đặc tả không chính thức
    • Python cũng không có đặc tả riêng, nhưng CPython là tiêu chuẩn trên thực tế. Trường hợp này khá giống
    • Có nhiều ứng dụng hỗ trợ org. Ứng dụng di động, plugin Vim, GitHub, Codeberg đều có hỗ trợ
      Có nhiều giải pháp mã nguồn mở mạnh về đồng bộ cục bộ hơn Markdown
      Các ứng dụng ghi chú dựa trên Markdown lại thường phụ thuộc vào đám mây hơn
    • Codeberg cũng hỗ trợ org trong README. Một số Git forge khác cũng hỗ trợ phần nào