Org-mode 是什么?和 Markdown 有什么区别、适合谁用

更新时间

Org-mode 是 Emacs 内置的一种纯文本组织与标记模式,主要用于笔记、待办事项、日程规划和文档写作。它适合愿意在 Emacs 环境中投入学习成本、需要“大纲 + 待办 + 表格 + 导出”一体化的重度文本用户;如果你只想要轻量写作、跨工具通用,Markdown 更合适。Org-mode 不是独立编辑器,脱离 Emacs 后体验会明显受限。

Org-mode 的核心定位

Org-mode 以 .org 纯文本文件为载体,在普通文本之上叠加了一套结构化语法。它的能力集中在四件事上:

  • 大纲结构:用星号表示层级,折叠、展开、移动整棵子树。
  • 待办与日程:TODO/DOING/DONE 状态、优先级、截止日期、重复任务。
  • 表格与计算:文本表格可直接写公式做列求和等运算。
  • 导出:同一份文件可导出为 HTML、PDF、LaTeX 等格式。

关键机制在于:这些能力都由 Emacs 在打开 .org 文件时解析并提供,文件本身仍是纯文本。换句话说,结构来自语法,功能来自 Emacs。

Org-mode 与 Markdown 的核心差异

两者都是纯文本标记,但设计目标不同。用同一组维度对比:

维度 Org-mode Markdown
标题层级 * 数量表示层级,可无限嵌套 # 数量,通常到 6 级
大纲操作 原生支持折叠、整树移动 依赖编辑器插件
待办/日程 内置 TODO、优先级、日期 无原生支持
表格计算 支持公式与求和 仅表格语法
导出 内置多格式导出 依赖外部工具链
工具依赖 基本绑定 Emacs 几乎所有编辑器与平台
学习曲线 较陡 平缓

一个贴切的例子:写一份项目计划,Markdown 里“任务状态”只能靠手写 - [ ] 或文字标注,进度要自己维护;Org-mode 里每个标题可直接挂 TODO 状态和截止日期,再用议程视图汇总所有未完成项。代价是这套流程只有在你用 Emacs 时才成立。

适合谁用,不适合谁

适合:长期用 Emacs、需要把笔记与任务管理放在同一份纯文本里、重视大纲操作和导出、不介意配置环境的人。

不适合:主要用浏览器或移动端写作、需要与他人协作交换文件、只想快速记录的人。浏览器类工具对 .org 的支持通常有限——例如 markup.rocks 这类基于浏览器的文档编辑器与转换器,其页面以 Markdown 编辑与预览为主,对 Org-mode 的处理能力不能等同于 Emacs 原生体验。

最小入门路径

前提:本机已安装 Emacs。以下步骤在 Emacs 中完成,预期结果是得到一个可折叠、可导出的大纲文件。

  1. 创建文件:新建 notes.org,用 Emacs 打开。预期:状态栏显示 Org 模式。
  2. 写标题层级:输入 * 项目 换行 ** 子任务。预期:Tab 键可折叠/展开子树。
  3. 加待办:在标题行写 * TODO 写初稿。预期:TODO 关键字被高亮,可切换为 DONE。
  4. 加日期:在标题下写 DEADLINE: <2025-01-31 周五>。预期:议程视图能汇总该条目。
  5. 导出:执行导出命令选择 HTML。预期:生成对应 HTML 文件,标题层级转为嵌套结构。

常见卡点:

  • 用普通文本编辑器打开 .org,看不到折叠和待办高亮——这是正常的,功能来自 Emacs。
  • 把 .org 发给不用 Emacs 的人,对方只能看到带星号的纯文本。
  • 误以为 Org-mode 是独立软件,去找“Org-mode 编辑器”下载。

一句话决策

需要“纯文本 + 大纲 + 任务管理 + 导出”且愿意留在 Emacs,选 Org-mode;需要通用、轻量、到处能打开,选 Markdown。两者可以共存:同一套笔记里,用 Org-mode 管任务,用 Markdown 做对外发布。