Org-Mode 编辑——Emacs 用户的 Android 延伸,v2.11 新增语法高亮
Org-Mode 简介
Org-Mode 是 Emacs(著名的 Unix/Linux 文本编辑器生态)里最流行的笔记/任务/日程格式。它的特点是:
- 用纯文本做 日程管理、任务列表、项目规划、文档写作、笔记
- 语法极度紧凑:用星号
*标记层级、用TODO/DONE标记任务状态 - Emacs 里
org-agenda能把所有 Org 文件的任务聚合成日历视图 - 支持
Babel(可执行代码块,literate programming)
Emacs 用户对 Org-Mode 的忠诚度极高。Markor v2.11 把 Org-Mode 带到了 Android 上——让 Emacs 用户的 Org 文件可以在手机端继续编辑。
Markor 对 Org-Mode 的支持(v2.11)
| 能力 | 状态 |
|---|---|
| 语法高亮 | ✅ 标题层级、TODO 关键字、标签、表格、代码块各自颜色 |
| 快速操作按钮 | ✅ 底部操作栏有 Org-Mode 专用按钮 |
| 文件自动识别 | ✅ .org 扩展名自动应用高亮 |
| 预览模式 | ❌ 没有专门的 Org-Mode 预览(Markor 官方声明目前只有编辑模式) |
| PDF / HTML 导出 | ⚠️ 走通用导出,基础转换 |
| org-agenda 聚合 | ❌ 没有(需要 Emacs 的完整环境) |

Org-Mode 语法速查
层级标题
#+TITLE: 我的项目规划
* 一级标题
** 二级标题
*** 三级标题
**** 四级标题
和 Markdown 的 # 不同,Org-Mode 用 星号 作为层级标记。层级直接决定缩进和展开折叠(Emacs 里可以按 TAB 折叠)。
TODO / DONE 任务状态
* TODO 写 Q4 产品文档
* DONE 完成了市场调研文档
* TODO 给老板发邮件
SCHEDULED: <2026-10-15 Wed>
- 状态关键字:
TODO、DONE(Emacs 里还可以自定义如STARTED、WAITING) SCHEDULED:标记计划开始日期DEADLINE:标记截止日期
标签
* TODO 设计新版应用图标 :design: +app-redesign:
标签用 单冒号 包裹,多个标签可以并排。Emacs 里 org-tags-view 可以按标签搜索所有任务。
表格
| 姓名 | 年龄 | 城市 |
|------+------+------|
| 张三 | 30 | 北京 |
| 李四 | 25 | 上海 |
Org-Mode 的表格语法 和 Markdown 不同:分隔线用 |------+------| 形式(每个单元格宽度按内容自动调整)。Markor 会正确识别这种格式。
代码块
#+begin_src python
def hello():
print("Hello Org-Mode")
#+end_src
Org-Mode 的代码块语法是 #+begin_src <语言> / #+end_src。Emacs 里这个块可以 直接执行(Babel 功能),Markor 里只做语法高亮。
列表
- 无序列表项一
- 无序列表项二
1. 有序列表项一
2. 有序列表项二
列表语法和 Markdown 基本一致。
代码和引用
~行内代码~
=行内等宽=
#+begin_example
这是一个示例块
#+end_example
同步到 Emacs 的工作流
- Emacs 里维护的
.org文件 → 放在 Syncthing 同步目录 - Markor Notebook 根目录 → 设为同步目录
- 手机上打开
.org文件 → Markor 自动应用 Org-Mode 语法高亮 - 在手机上编辑、添加任务 → 同步回 Emacs
Emacs 端 org-agenda 下次打开时就能看到你在手机上新增的任务了,org-tags-view 也能搜到。
Markor Org-Mode 的定位
Markor 对 Org-Mode 的支持是 「编辑 + 高亮」 定位。你不指望在手机上有 Emacs org-agenda 的完整体验——那是 Emacs 桌面端的事。但以下场景 Markor 完全能胜任:
- ✅ 手机上随手 新增 一个 Org 任务
- ✅ 快速浏览 今天的 TODO 列表
- ✅ 在地铁上 编辑一篇技术文档(Org 格式)
- ✅ 在开会时 把一条新任务追加到已有标题下
不适合:
- ❌ 复杂的 org-agenda 视图筛选
- ❌ Babel 代码块执行
- ❌ org-capture 的自定义模板
- ❌ 标签体系重构
这些都在桌面 Emacs 里做。
转换格式
如果需要把 Org 文件转成 Markdown 或 HTML:
# pandoc 双向转换
pandoc input.org -f org -t markdown -o output.md
pandoc input.org -f org -t html -o output.html
# Emacs 内部导出(更完整)
emacs --batch --eval '(require-org) (org-export-as-html)' input.org