Org-mode五分钟教程ZZZ

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Org-mode五分钟教程ZZZ相关的知识,希望对你有一定的参考价值。

1 源起

    最近在学习 Emacs 的一些高级用法,在学习到了 org-mode,看到了官方网站上的这篇 David O‘Toole Org rutorial,上面提示有 中文译版,不过是保存在 Google site 上面的。当我拿起梯子,爬出去去,下载到了这篇文章以后。发现是 html 格式的,中间的图片也看不到了。我又去 Google 了一下,没有在 cnternet 里面找到中文版的。于是在这里,将 Hokmen Chan 的这篇文章稍作整理,放到 cnternet 上来,以飨 emacser。

    这篇文章以 Hokmen 的翻译为蓝本,参考最新的 David O‘Toole Org Tutorial,按照 Emacs 的使用习惯,做了适量的添加和修改。 

2 简介

    Org-mode 是一个个人信息管理和大纲工具的 Emacs 插件。 这篇文章将以丰富的截图和说明性的指令一步步的介绍 org-mode 的基本用法,让读者对她有个基本的认识。本文并不能替代 org-mode 的手册,这里只是 org-mode 冰山的一角。

这篇教程已经有 法语日语简体中文(河蟹)韩语 译文。在此向译者致谢。

2.1 获取 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 中: 

  1. (add-to-list ‘load-path "PAHT_TO_WHERE_YOU_UNPACKED_ORGMODE/lisp")
2.2 安装

    将下面这几行加入到你的 .emacs 文件中: 

  1. (add-to-list ‘load-path "PATH_TO_WHERE_YOU_UNPACKED_ORGMODE")
  2. (require ‘org)
  3. (add-to-list ‘auto-mode-alist ‘("\\.org$" . org-mode))
  4. (define-key global-map "\C-cl" ‘org-store-link)
  5. (define-key global-map "\C-ca" ‘org-agenda)
  6. (setq org-log-done t)
    这样可以确保 org-mode 被加载,并在这里定义了几个全局的快捷键。后面我们会讨论到 "org-store-lik" 和 "org-agenda"。

    另外,最好使用一个独立的目录来保存你的 org 文件。我建议使用 "~/org"。

3 基础用法

    本节将讨论 org-mode 的基础用法,并向您展示,我是怎样使用 org-mode 撰写这篇文章的。

3.1 创建一个新文件

    如果你已经按照前面的建议配置好了你的 .emacs,当你打开或者创建一个 ".org" 后缀的文件时,Emacs 会自动进入 org-mode。

    我创建了一个名为 "OrgTutourial.org" 的新文件,Emacs 的模式栏上出现了 "Org",说明我们已经进入了 org-mode。

3.2 简单的任务列表

    我先创建了一个 "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 条目:

 

技术分享

3.3 使用标题组织一篇文章

    通常,最好的方法是使用大纲来组织你的“思绪(ideas)”。接下来,我来列出这篇教程的大纲。通过大纲,你可以发现整片文章就别划分为了若干个小的段落,这样可以方便的去展开它。

    还记得吧,一颗星是一级标题,两颗星是二级标题。如果你需要更多的层级,就来三颗星,更多的星星吧。

    这里是我完成了这篇文档大纲后的效果图: 

技术分享

    注意:我已经把 "Outline document" 标记成了 "DONE"。

3.4 展开段落

    你可以很方便的给任意一个标题添加正文:

 

技术分享

3.5 使用链接

    在 "获取 org-mode" 一节中,我需要一个提供一个链接指向 org-mode 的网站。使用链接的语法是:

  1. [[link][description]]

    看,我是怎么添加一个链接和描述的,当没有闭合最后半边方括号的时候:

 

技术分享

    当键入这半边方括号的时候,链接消失了,只显示他的描述:

 

技术分享

    试着移动光标到这个链接上,按 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 来插入该链接(你可以用方向键来翻查你刚才记录的链接)。

3.6 浏览文章

    这个时候,我的文档已经很长了,一屏已经不能看到她的全部内容了。不过不用担心,org-mode 可以让你方便的浏览你的文章。使用 S-TAB 键,可以提供不同层次的浏览。

 

技术分享

    注意:这里只显示了一级标题。再次按下 S-TAB 键,所有的标题和 TODO 条目都会显示出来:

 

技术分享

    再次按 S-TAB 键,会回到正常显示。所有小节的内容都会显示出来。

 

技术分享

3.7 给任务添加说明

    你可以把尽可能多的描述文字放在一个 TODO 条目之后。实际上,你也可以给 TODO 添加子标题,把 TODO 嵌套起来。

    对任务进行注释,让收集和处理某个任务的相关的链接和想法更容易。任务层次化嵌套对工作流程和模式和很有帮助——通常,一个大的任务会细分为更小的,可以逐项完成的子任务供你查看。

4 高级功能简述

    在这篇教程结束之前,我们再来讨论下 org-mode 的全局 TODO 列表、计划任务和日程表。这些功能用于从不同的 org 文件中把相关的 TODO 项目合并成以重要性和发生的时间为顺序的条目列表。你也可以用这些功能来指导那些任务是已经完成的,以及他们是什么时候完成的。

4.1 设置

    在做这些之前,需要设置 org-agenda-files,以便于让 org-mode 知道在哪些文件中搜寻 TODO 和计划条目。

    假设,你己经有了几个 org 文件——一个工作用的 org 文件,一个家务用的 org 文件,一个学校用的 org 文件。

    这样的话,你可以在你的 .emacs 中加入如下几行: 

  1. (setq org-agenda-files (list "~/org/work.org"
  2.                              "~/org/school.org"
  3.                              "~/org/home.org"))
4.2 全局 TODO 列表

    按 C-C a t 进入全局 TODO 列表。org-mode 将在 org-agenda-files 里的文件中搜索卡方的 TODO 条目,并给出列表:

 

技术分享

    你能在不同的 TODO 项目中移动光标,并用 t 键来把条目标注成 "DONE";或者在 TODO 条目上按 RET 跳到该条目所在的源文件。

4.3 计划任务和日程表

    我计划今天来做 "Finish document"。我把光标移到 TODO 条目 "Finish document" 上,按 C-c C-s 来执行 org-schedule 命令。日历跳了出来,我能输入或者点击我选择的日期:

 

技术分享

    当我选择好了日期,org-mode 在这个 TODO 条目后插入一个时间磋:

 

技术分享

    现在把文档存盘,按 C-c a a 来进入 org-angende 视图。本星期的机会计划项目中显示了出来:

 

技术分享

    按 "l"(小写字母L) 显示日志。这样就会显示你所有已经完成的任务和他们完成的时间。

 

技术分享

5 再会

    这篇文章只是 org-mode 的简明教程。在 org-mode 在线手册 里,有更多让人兴奋的特征等待着你去发掘。

6 后记

    正如 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/

以上是关于Org-mode五分钟教程ZZZ的主要内容,如果未能解决你的问题,请参考以下文章

五分钟上手ECharts教程

[分享] 史上最简单的封装教程,五分钟学会封装系统(以封装Windows 7为例)

Git五分钟教程

五分钟教程:如何在Docker当中运行平行测试

Java教程!五分钟搞懂MySQL主从复制原理

01. SpringCloud实战项目-五分钟搞懂分布式基础概念