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的更多相关文章

  1. Org-mode五分钟教程ZZZ - Kaka Abel的日志 - 网易博客

    Org-mode五分钟教程ZZZ - Kaka Abel的日志 - 网易博客 Org-mode五分钟教程ZZZ  

  2. git五分钟教程

    使用Git前,需要先建立一个仓库(repository).您可以使用一个已经存在的目录作为Git仓库或创建一个空目录. 使用您当前目录作为Git仓库,我们只需使它初始化. git init 使用我们指 ...

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

    [分享] 史上最简单的封装教程,五分钟学会封装系统(以封装Windows 7为例) 踏雁寻花 发表于 2015-8-23 23:31:28 https://www.itsk.com/thread-35 ...

  4. 利用github pages五分钟建好个人网站+个人博客

    笔者自己在建个人网站/个人博客的时候其实遇到了不少麻烦,但是都一一解决了,这里教给大家最简单的方式. 首先你需要一个GitHub账号,访问https://github.com创建新账号即可. 然后访问 ...

  5. Docker五分钟搭建Wordpress

    当你看到这篇文章的时候,表明你已经有docker的基础知识了,或者可以看上一篇文章 Docker 入门教程. 传统的使用wordpress搭建网站,意味着你需要搭建以下四个环境: php: apach ...

  6. 用五分钟重温委托,匿名方法,Lambda,泛型委托,表达式树

    这些对老一代的程序员都是老生常谈的东西,没什么新意,对新生代的程序员却充满着魅力.曾经新生代,好多都经过漫长的学习,理解,实践才能掌握委托,表达式树这些应用.今天我尝试用简单的方法叙述一下,让大家在五 ...

  7. JVM内存管理------GC算法精解(五分钟让你彻底明白标记/清除算法)

    相信不少猿友看到标题就认为LZ是标题党了,不过既然您已经被LZ忽悠进来了,那就好好的享受一顿算法大餐吧.不过LZ丑话说前面哦,这篇文章应该能让各位彻底理解标记/清除算法,不过倘若各位猿友不能在五分钟内 ...

  8. 转帖:用五分钟重温委托,匿名方法,Lambda,泛型委托,表达式树

    用五分钟重温委托,匿名方法,Lambda,泛型委托,表达式树 这些对老一代的程序员都是老生常谈的东西,没什么新意,对新生代的程序员却充满着魅力.曾经新生代,好多都经过漫长的学习,理解,实践才能掌握委托 ...

  9. 【项目管理和构建】十分钟教程,eclipse配置maven + 创建maven项目(三)

    [项目管理和构建]十分钟教程,eclipse配置maven + 创建maven项目(三) 上篇博文中我们介绍了maven下载.安装和配置(二),这篇博文我们配置一下eclipse,将它和maven结合 ...

随机推荐

  1. Python3基础教程(十九)—— 项目结构

    本节阐述了一个完整的 Python 项目结构,你可以使用什么样的目录布局以及怎样发布软件到网络上. 创建Python项目 我们的实验项目名为 factorial,放到 /home/shiyanlou/ ...

  2. 原生JS--各种兼容性写法总结

    <script> var oEvent = evt || event; ========================================================== ...

  3. 解决VSCode中使用vetur插件格式化vue文件时,js代码会自动加上冒号和分号

    解决VSCode中使用vetur插件格式化vue文件时,js代码会自动加上冒号和分号 在设置中把"vetur.format.defaultFormatter.js": " ...

  4. SQL Server 2008 空间数据存储摘抄(SRID 点 MultiPoint LineString MultiLineString 多边形 MultiPolygon GeometryCollection)

    有两种类型的空间数据.geometry 数据类型支持平面或欧几里得(平面球)数据.geometry 数据类型符合适用于 SQL 规范的开放地理空间联盟 (OGC) 简单特征 1.1.0 版. 另外,S ...

  5. docker run之后状态总是Exited

    add -it docker run -it -name test -d nginx:latest /bin/bash

  6. CQOI2018 九连环 打表找规律 fft快速傅里叶变换

    题面: CQOI2018九连环 分析: 个人认为这道题没有什么价值,纯粹是为了考算法而考算法. 对于小数据我们可以直接爆搜打表,打表出来我们可以观察规律. f[1~10]: 1 2 5 10 21 4 ...

  7. find指令使用手册

    find 目录 条件 选项 find . –print find . –print0 .指明在当前目录中查找 -print 打印匹配文件的文件名,使用‘\n’作为分隔文件的定位符 -print0 打印 ...

  8. 树莓派 - MQTT

    安装mosquitto 下载源代码包 wget http://mosquitto.org/files/source/mosquitto-1.5.tar.gz 解压 tar zxfv mosquitto ...

  9. Canal使用报错解决办法

    1. [destination = test_cancal , address = /127.0.0.1:3306 , EventParser] WARN c.a.o.s.a.i.setl.zooke ...

  10. 【HIHOCODER 1049】 后序遍历

    描述 在参与过了美食节之后,小Hi和小Ho在别的地方又玩耍了一阵子,在这个过程中,小Ho得到了一个非常有意思的玩具--一棵由小球和木棍连接起来的二叉树! 小Ho对这棵二叉树爱不释手,于是给它的每一个节 ...