标签:
最近在学习 Emacs 的一些高级用法,在学习到了 org-mode,看到了官方网站上的这篇 David O‘Toole Org rutorial,上面提示有 中文译版,不过是保存在 Google site 上面的。当我拿起梯子,爬出去去,下载到了这篇文章以后。发现是 html 格式的,中间的图片也看不到了。我又去 Google 了一下,没有在 cnternet 里面找到中文版的。于是在这里,将 Hokmen Chan 的这篇文章稍作整理,放到 cnternet 上来,以飨 emacser。
这篇文章以 Hokmen 的翻译为蓝本,参考最新的 David O‘Toole Org Tutorial,按照 Emacs 的使用习惯,做了适量的添加和修改。
Org-mode 是一个个人信息管理和大纲工具的 Emacs 插件。 这篇文章将以丰富的截图和说明性的指令一步步的介绍 org-mode 的基本用法,让读者对她有个基本的认识。本文并不能替代 org-mode 的手册,这里只是 org-mode 冰山的一角。
Emacs 22 以后的版本已经集成了 org-mode,所以,你使用的是 Emacs 22 以后的版本的话,你的 Emacs 已经提供了她(*Emacs 23.1 内置的 org-mode 版本是 6.21b;Emacs 23.2 内置的 org-mode 版本是 6.33x;最新的 org-mode 是 7.4)。
当然,你可以从 org-mode home page 下载到最新的版本,解压并添加到 Emacs load path 中:
将下面这几行加入到你的 .emacs 文件中:
另外,最好使用一个独立的目录来保存你的 org 文件。我建议使用 "~/org"。
本节将讨论 org-mode 的基础用法,并向您展示,我是怎样使用 org-mode 撰写这篇文章的。
如果你已经按照前面的建议配置好了你的 .emacs,当你打开或者创建一个 ".org" 后缀的文件时,Emacs 会自动进入 org-mode。
我创建了一个名为 "OrgTutourial.org" 的新文件,Emacs 的模式栏上出现了 "Org",说明我们已经进入了 org-mode。
我先创建了一个 "Tasks" 的标题,控制所有的 tasks。这么做并不是必须的,只不过通常这样会更方便,尤其是你想把 tasks 和正在编辑的的文档的正文分开的时候。
一级标题以一个 "*" 号开头,二级标题以两个 "*" 好开头,以此类推(*iHuHoo.w : 星号"*" 必须是顶格的,星号和标题之间应该有一个空格分开)。
在 org-mode 里,TODO 条目都是以标题的形式存在的。我现在创建了一个 TODO 条目:"Start new org file for tutorial":
这个有点二,因为我们已经创建过了一个新文件。额,我们现在把它关了吧。移动光标到这个 TODO 条目这行,使用 C-c C-t 把它标记为完成。
结果是这个样子的:
注意:org-mode 用了一个时间磋来记录一个 TODO 条目什么时候完成的。
让我们输入跟多的 TODO 条目,将光标定位到下一行,按 M-S-RET 调用 org-insert-todo-heading,通过重复的按这个组合键,可以方便的输入若干个 TODO 条目:
通常,最好的方法是使用大纲来组织你的“思绪(ideas)”。接下来,我来列出这篇教程的大纲。通过大纲,你可以发现整片文章就别划分为了若干个小的段落,这样可以方便的去展开它。
还记得吧,一颗星是一级标题,两颗星是二级标题。如果你需要更多的层级,就来三颗星,更多的星星吧。
这里是我完成了这篇文档大纲后的效果图:
注意:我已经把 "Outline document" 标记成了 "DONE"。
你可以很方便的给任意一个标题添加正文:
在 "获取 org-mode" 一节中,我需要一个提供一个链接指向 org-mode 的网站。使用链接的语法是:
看,我是怎么添加一个链接和描述的,当没有闭合最后半边方括号的时候:
当键入这半边方括号的时候,链接消失了,只显示他的描述:
试着移动光标到这个链接上,按 C-c C-o 调用 org-open-at-point。
当然,你可以可以链接到本地文件。试试浏览另外一个文件——比如你的 .emacs 文件。然后按 C-c l 调用 org-store-link。你会看到一条信息,说已经把你正在浏览的文件中的闻之存为一个链接。
然后回到你的 org-mode buffer,按 C-c C-l 调用 org-insert-link 来插入该链接(你可以用方向键来翻查你刚才记录的链接)。
这个时候,我的文档已经很长了,一屏已经不能看到她的全部内容了。不过不用担心,org-mode 可以让你方便的浏览你的文章。使用 S-TAB 键,可以提供不同层次的浏览。
注意:这里只显示了一级标题。再次按下 S-TAB 键,所有的标题和 TODO 条目都会显示出来:
再次按 S-TAB 键,会回到正常显示。所有小节的内容都会显示出来。
你可以把尽可能多的描述文字放在一个 TODO 条目之后。实际上,你也可以给 TODO 添加子标题,把 TODO 嵌套起来。
对任务进行注释,让收集和处理某个任务的相关的链接和想法更容易。任务层次化嵌套对工作流程和模式和很有帮助——通常,一个大的任务会细分为更小的,可以逐项完成的子任务供你查看。
在这篇教程结束之前,我们再来讨论下 org-mode 的全局 TODO 列表、计划任务和日程表。这些功能用于从不同的 org 文件中把相关的 TODO 项目合并成以重要性和发生的时间为顺序的条目列表。你也可以用这些功能来指导那些任务是已经完成的,以及他们是什么时候完成的。
在做这些之前,需要设置 org-agenda-files,以便于让 org-mode 知道在哪些文件中搜寻 TODO 和计划条目。
假设,你己经有了几个 org 文件——一个工作用的 org 文件,一个家务用的 org 文件,一个学校用的 org 文件。
这样的话,你可以在你的 .emacs 中加入如下几行:
按 C-C a t 进入全局 TODO 列表。org-mode 将在 org-agenda-files 里的文件中搜索卡方的 TODO 条目,并给出列表:
你能在不同的 TODO 项目中移动光标,并用 t 键来把条目标注成 "DONE";或者在 TODO 条目上按 RET 跳到该条目所在的源文件。
我计划今天来做 "Finish document"。我把光标移到 TODO 条目 "Finish document" 上,按 C-c C-s 来执行 org-schedule 命令。日历跳了出来,我能输入或者点击我选择的日期:
当我选择好了日期,org-mode 在这个 TODO 条目后插入一个时间磋:
现在把文档存盘,按 C-c a a 来进入 org-angende 视图。本星期的机会计划项目中显示了出来:
按 "l"(小写字母L) 显示日志。这样就会显示你所有已经完成的任务和他们完成的时间。
这篇文章只是 org-mode 的简明教程。在 org-mode 在线手册 里,有更多让人兴奋的特征等待着你去发掘。
正如 org-mode home page 上所说,这里只是一个非常简单的“五分钟教程”,旨在给读者一个体验。如果你话五分钟,能从这里找到让你兴奋的东西,那么就来尝试 org-mode 吧。如果没有,还是把你的时间和精力投入到能让你兴奋的事情中去吧。
整理这篇文章,花费了近三个小时。可以说,这是我第一次看英文文档看着这么认真。同时也体会到了那个译者的辛苦。当然,水平有限,欢迎拍砖……
原文链接:http://orgmode.org/worg/org-tutorials/orgtutorial_dto.php
from: http://blog.163.com/niujiashu%40126/blog/static/100293042201121510143389/
标签:
原文地址:http://www.cnblogs.com/GarfieldEr007/p/5588971.html