功能 | Org
多种标记选项
描述
Org 常被用于构建与管理复杂的工作流程。为此,Org 使用了优美且简单的语法,从最基本的标记到完整的 LaTeX 排版,从纯文本到文学程序,都可以使用 Org 编写而成。
以下这个例子包含了所有你开始使用 Org 需要的内容。
更多
详见手册(英语):标记
结构化的编辑
描述
Org 里最基础的结构是由可嵌套、可折叠的章节构成的树。你可以使用一个快捷键 —— tab
—— 来折叠、展开整个树。
Org 的树结构给用户带来了快速且优雅的导引与强大的信息遮避功能,让你在保持获取需要信息的能力的同时专心于手头的任务。
控制章节可见与否只是 Org 的一个小小的功能,而 Org 仍有其它多种工具与命令来为结构化地编辑纯文本带来便利。 Org 的语法让用户把枯燥的任务变成了单个的键盘命令,让用户更着重于内容而不是形式。
更多
详见手册(英语):文档结构
透明化的表格处理
更优越的源代码
描述
Org 提供的功能远远超过Jupyter、R Markdown等计算笔记本。
Org babel把可运行的代码区转换为一个完整的文学编程(英语,外网)环境,使得用户可以用输入与输出串联不同的语言、运行环境、甚至不同的设备到同一个系统里。用户就此可以在DRY(英语,外网)上达到一个前所为有的高度。
使用 Org ,你可以非常简单地从同一个文件里提取源代码与生成帮助文档。尽管很多语言支持从代码备注里生成文档,Org 还可以同时在同一个文件里放入开发者指南、用户手册、实现以及测试 —— 因此,每个 Org 文件是唯一的、不会逐步失去同步的信息源。
Org 目前支持超过80种不同语言,并且像emacs-jupyter这样的组件使得用户可以利用 Jupyter 内核生态来使用更多的语言。
导出与发布
把握任务的进程
描述
Org 是一个功能齐全的任务计划工具、时间管理工具以及待办事项工具。
任何一个章节都可以通过增加例如 TODO
或者 HOLD
等关键词来被设置成待办事项。你可以由此跟踪纪录此任务的进度。你也可以使用快捷键 S-<left>
和 S-<right>
来把任务切换到不同状态。
需要增加其他的任务状态?没问题。你可以根据你的工作流程自由地设置任务状态。
在 Org 日程(Agenda)里,你可以轻松地查看多个文件里的任务 —— 你仅需要添加一个任务状态关键词,例如 TODO
。Org 为以下功能有内置支持:任务优先级、截止日期、计划中任务、标签、打卡等等。日程能够使用上述所有功能来整理任务以及设置优先级。因此,在仅需使用纯文本标记的同时,你可以把一个简单的待办事项列表无缝升级为一个完整的项目管理软件。
可执行的日程表
描述
轻松计划你的一天,方式由你而定。
在日程界面里(一个由你所有待办事项组成的报告),你可以看到你每日、每周、每月的任务。
就算你有上百个 .org
文件以及上千个任务,日程仍可以让你集中精力攻克你最需要响应的任务 —— 并且你可以从日程的优先级界面可以直接跳到你手头这个需要完成的任务。
日程的默认界面显示了你当周里计划中的、临近截止的、暂停的、以及未完成的待办任务。
对这个默认界面不满意?你可以随意修改 Org 日程的配置。你既可以修改其默认界面,也可以创建自定义界面。
从某种程度上来说,Org 是一个富有表达力的、能抓取在工作进程里的交互关键点的语言,使你在因生活、工作、娱乐等等需要构建新的工作进程时的步骤变得更加简单易懂。
打卡
描述
使用 Org 打卡(clocking)来纪录你花费在任务上的时间。你可以在一天结束之际生成关于你当天如何使用时间的报告。
Org 提供了给开始任务与结束任务打卡的快捷键。当你在使用一个 .org
文件时,按下 C-c C-x C-i
来打卡开始任务,C-c C-x C-o
来打卡结束任务。所有的打卡时间都被存储在该任务标题的属性抽屉里。
当你在日程界面时,你可以使用 I
和 O
打卡。
更多
详见手册(英语):任务打卡
从任何地方抓取信息
描述
你可以抓取信息,然后把它加入到一个 .org
文件里。
你可以从任何地方抓取信息 —— 可以是一个 Emacs 缓存区,也可以是其它程序,例如你的浏览器、PDF 阅览器等等。
抓取模版让你快速且便捷地从各种工作流程中抓取信息,例如增加新任务、引用手册的关联章节、或者保存收据。
更多
详见手册(英语):抓取
极度的可扩展性
描述
Org 不只是一般的“可扩展”;它是 Emacs 级别的可扩展。
Org 起初只是 Emacs 的一个扩展组件。因此,Org 的各方各面都包含了对可扩展性的考量。
举一个小小的例子:超链接。当你在更新开发文档时你会经常重复引用到项目的问题列表,例如GitHub Issues。你可以在 Org 文件里添加一个新的 issue:
链接类型,使得类似[[issue:74][big bug]]
的链接能够引用到https://github.com/author/repo/issues/74
。
除了超链接,你也可以自定义解析函数、使用 Tramp 链接远程设备的文件,等等。