分类: Delphi
2010-12-28 16:07:05
最近在学习 Emacs 的一些高级用法,在学习到了 org-mode,看到了官方网站上的这篇 ,上面提示有 ,不过是保存在 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)。
当然,你可以从 下载到最新的版本,解压并添加到 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 home page 上所说,这里只是一个非常简单的“五分钟教程”,旨在给读者一个体验。如果你话五分钟,能从这里找到让你兴奋的东西,那么就来尝试 org-mode 吧。如果没有,还是把你的时间和精力投入到能让你兴奋的事情中去吧。
整理这篇文章,花费了近三个小时。可以说,这是我第一次看英文文档看着这么认真。同时也体会到了那个译者的辛苦。当然,水平有限,欢迎拍砖……
原文链接: