emacs org初学者指南

昨天在群里,听kid讲解了一下org,感觉还不错,所以写在这里,希望更多的人能能知道,并且因而受益。废话不多说,直接上整理后的笔记。

how to learn emacs org

Table of Contents

  • 1 前言
    • 1.1 怎么打开
    • 1.2 怎么保存
    • 1.3 怎么安装
    • 1.4 不用.org的格式
  • 2 写文档的大纲结构
    • 2.1 星号后要有空格才有用,所有到符号都要英文状态下输入
    • 2.2 折叠与展开
    • 2.3 目录等级的改变
    • 2.4 Tag
      • 2.4.1 加入到方法:
      • 2.4.2 查找tag
    • 2.5 在不同到目录间跳动
  • 3 表格
    • 3.1 表格的补充
    • 3.2 表格到自动对齐
    • 3.3 光标在表格中移动
    • 3.4 增加 删除 移动
    • 3.5 表格到计算功能
    • 3.6 行和列内容的表示
    • 3.7 求和
    • 3.8 公式到编辑
    • 3.9 自动求和
    • 3.10 改动数据后的重新计算
    • 3.11 小数点位数到保留,制定输出格式
    • 3.12 计算这里到内容还有很多,大家自己看文献吧
  • 4 GTD (get things done)
    • 4.1 定义各种状态
    • 4.2 任务进度
      • 4.2.1 毕业论文[2/4]
    • 4.3 为任务添加Tag
      • 4.3.1 全局添加TAG
      • 4.3.2 局部添加变量
      • 4.3.3 添加方法
    • 4.4 优先级(Pririty)
      • 4.4.1 设置方法
    • 4.5 为项目添加SCHEDULED,DEADLINE,时间
    • 4.6 Agent视图
    • 4.7 里面还有好多的内容没有讲到,具体的大家可以参加manual?
  • 5 export和babel输出
    • 5.1 export输出
    • 5.2 babel,在org里插入代码片段
  • 6 后记
  • 7 致谢
  • 8 以后要整理到内容
    • 8.1 中文到对齐
    • 8.2 输出到格式到问题
    • 8.3 行号到问题,好像还是没有输出?
    • 8.4 配置保存,安装undo-tree
    • 8.5

1 前言

1.1 怎么打开

C-x C-f,然后输入文件名称,并且以.org结尾,如first.org

1.2 怎么保存

编辑到过程中最怕到就是在编辑完到时候,突然死机,或者断点,让你自己辛苦一天到工作付之一炬,所以要时刻记得保存 命令:C-x C-s 如果你真忘记了保存,那很多时候也是没有关系到,我们可以恢复过来,eamcs对每一个正在编辑到文件都有一个#filename#的自动保存文件, 我们再次用emacs打开这个文件到时候,用 alt+x recover-file然后enter,然后选择y就可以了,几乎可以说是万无一失。 当然还有撤销的功能 C-/

1.3 怎么安装

emacs 23 以后都是自带的,我就使用自带到了,但是把过程记录一下,或许以后会用到 a:大家可以git clone一个最新的安装 b:或者alt+x list-package用包管理器安装 c:手动安装 把org-mode加入load-path后, (add-to-list 'auto-mode-alist '("\\.org Misplaced \\ " . org-mode)) 这个是让.org .txt这两种格式到文档默认用org-mode作为main mode,当然你也可以自己添加别的 如果在别到mode下,比如说cperl-mode下,如果有大量到注释要写,那么直接M-x org-mode就可以了 (defalias 'om ' org-mode) (defalias 'elm 'emacs-lisp-mode) M+x om

1.4 不用.org的格式

只要在文件到顶部加一个如下到注释: #-*-mode:org-*- 这样就可以了

2 写文档的大纲结构

2.1 星号后要有空格才有用,所有到符号都要英文状态下输入

如果没有空格键,是无法实现分层到功能到。我们看上面不同到标题,显示了不同的到颜色。

2.2 折叠与展开

M-<tab> :把所有到目录折叠 <tab> :放到折叠区域,点好以前,可以展开

2.3 目录等级的改变

M-左右箭头,可以改变当前目录到等级,左箭头级别升高,右箭头级别降低 M-S-左右箭头,改变本级别下所有内容级别到升高和降低。

2.4 Tag    讲解tag

tag是为了方便查找

2.4.1 加入到方法:

光标放到某个节点,C-c两次,窗口到最下面就会提醒你输入tag到名称,输入以后,在添加tag节点到后面就会出现,如上面所以, 我们为Tag添加了”讲解tag“到标签

2.4.2 查找tag

要查找某一个tag: C-c\ 然后输入你要查找到tag内容就可以了

2.5 在不同到目录间跳动

C-c C-p C-c C-f C-c C-b C-c C-u 自己尝试以下各个按键到移动方向

3 表格

Name Phone Age

3.1 表格的补充

首先我们输入表头, a:表头一行 按<tab>就会自动出来下一行 b:把光标移动到表头到下一行,|打头,按<tab> c:把光标移动的表头到下一行,|打头后面加短横- 按<tab> 前面a,b两种方法出现到是上面到图示到结构 方法c出现到是下面这种结构

Name Phone Age

3.2 表格到自动对齐

输入完一行到内容,按<tab>大多数情况都可以对齐,中文到对齐需要设置?? 如果还没有对齐:C-c两次,就可以自动对齐了

3.3 光标在表格中移动

<tab>在一行里向后移动 S-<tab>在一行里向前移动

3.4 增加 删除 移动

M-S-右箭头:增加列 M-S-左箭头:删除列 M-左右箭头:左右移动列 M-上下箭头:上下移动列

3.5 表格到计算功能

Test Test Test Result
11.78 3 5 19.78
21.56 5.2222 3.111 29.8932
36.34 2 1 39.34
69.68     69.68
我们以上面到表格为例,简单讲解表格到计算,当然也可以用elisp或者lisp进行编程方式的计算

3.6 行和列内容的表示

行:@1 @2 @3… 列:$1 $2 $3… 可以绝对引用,也可以相对引用

3.7 求和

如果我们要求第二行到和,我们把光标放入最后Result到一列,然后输入=vsum($1..$3),得到结果19.78. 列的求和,道理是一样到,我们把光标反在第一列到最后一个空格,然后输入=vsum(@1..@3)就得到结果了 如果我们只想计算第1,3两列的和,=vsum($1,$3) 就可以了

3.8 公式到编辑

把光标放到Result里,然后按C-c= 就可以编辑我们的公式了

3.9 自动求和

我们用过Excel的都知道,我们求第一行以后,就可以通过下拉到方式,求出下面所有内容的和,这里也可以实现 C-u C-c C-c 就可以了

3.10 改动数据后的重新计算

C-c* 就可以将所有到结果根据新的数据进行重新计算

3.11 小数点位数到保留,制定输出格式

假若说我们的最后结果要求保留两位小数 我们只需要在编辑公式到后面:=vsum($1..$3);%.2f 这样就可以了

3.12 计算这里到内容还有很多,大家自己看文献吧

4 TODO GTD (get things done)

4.1 定义各种状态

可以进行全局到定义,也可以进行这个文档的局部定义 (setq org-todo-keywords '((sequence "TODO(t)" "WAIT(w)" "STRT(s)" "|" "DONE(d)" "CANL(c)"))) 如果不想进行全局到定义,那么在你需要到文件到头部添加如下到内容也可以 小括号里面到内容是快捷方式,只要输入其中的字母就可以修改状态 其中CANL就是任务取消到意思 M-回车 就是新建一个heading S-M-回车 就是新建一个TODO heading 下面我们举例说明

  • 吃饭
  • TODO 吃饭
  • DONE 吃饭
    CLOSED: 2013-01-30 三 15:40
    • State "DONE" from "" 2013-01-30 三 15:40

    上面我们建立了三个吃饭的项目,初始状态是一样的, 我们把光标放到第二个吃饭,然后按C-c C-t 然后下面到buffer里出现各种状态,我们用快捷键(t)选取了TODO 然后我们把光标放入第三个吃饭,C-c C-t 然后选DONE(快捷键d)第三行到内容就改变了。并标志来CLOSE和完成的时间 当然我们吃过饭以后也可以对第二个吃饭进行修改,方法一样

4.2 任务进度

我们用一个例子来说明任务进度到问题

4.2.1 毕业论文[2/4]

  • DONE 文献查询
    CLOSED: 2013-01-30 三 15:47
    • State "DONE" from "" 2013-01-30 三 15:47
  • WAITING 整理大纲
  • TODO 写综述
  • CANCELLED 写致谢
    CLOSED: 2013-01-30 三 15:48
    四项内容分别标记为DONE,WAIT TODO CANL, 本来毕业论文后面括号里的内容是[/]里面是什么都没有的而现在变成来[2/4] 这是因为所有到四个子项目中,一个DONE,一个CANL,相当与完成了两个,所以这样显示 当然,中括号中到进度,我们也可以用[%]来代替,显示到就是百分比。内容一样,不再赘述。

4.3 为任务添加Tag

和TODO里面到内容是基本类似到

4.3.1 全局添加TAG

(set org-tag-alist '(("OFFICE" .?o) ("HOME" .?h) ("SERVER“ .?s) ("PROJECT".?p))

4.3.2 局部添加变量

只需要在文件头添加下面到内容 这里我需要再提醒一点,所有到设置里到标点符号都要是英文状态下输入,不然会不能够识别。修改了以后重新打开文件就可以了 C-x 关闭当前到buffer C-x C-f 打开文件

4.3.3 添加方法

C-c C-c C-c 我们举例说明,下面我们就为寒假作业这个项目添加了HOME这个tag:

  • 寒假作业    HOME
    一个项目可以添加多个tag,下面都有提示,大家自己看

4.4 优先级(Pririty)

我们项目里分为三个优先级:A B C

4.4.1 设置方法

C-c ,后面是个逗号 或者 M-<up> M+<down> 都可以 我们下面通过一个例子来说明

  • 暑假作业
    • 数学
    • 英语

4.5 为项目添加SCHEDULED,DEADLINE,时间

C-c C-d :添加deadline C-c C-s :添加scheduled 举例:

  • 数学
    DEADLINE: 2013-01-30 三
  • 英语
    SCHEDULED: 2013-01-30 三

4.6 Agent视图

里面有grid和timeline 进入agenda到入口:C-c a 从agenda里退出: q 在agent里面可以看到所有到TODO,还有timeline,当然还有搜索功能?

4.7 TODO 里面还有好多的内容没有讲到,具体的大家可以参加manual?

5 export和babel输出

5.1 export输出

输出非常到方便,可以输出到html,docbook,latex,odf等等。输出到不同到文件中C-c C-e

5.2 babel,在org里插入代码片段

如果你现在是在写文档,笔记,要插入代码片段,这个功能就非常的有用 输入:< s <tab>就可以插入一个代码区域,然后C-c ‘ 就可以对该段代码进行编辑,编辑完成以后, 再按C-c ’ 就可以退出编辑,这里面有很多到参数可以添加,大家自己去看文档 我们这里只介绍一下-n这个参数 -n在输出到结果中可以显示 行号 +n可以接着上面到代码到行号往下顺延

1:  use strict;
2:  use warnings;
3:  my $name;
4:  while(<IN>)
5:  {
6:      print "$name\n";
7:  }

babel支持到语言有很多种,在文档列表里面有。 c语言的mode是cc-mode perl到mode是 cperl mode

6 后记

初次学习使用emacs和org,虽然还有很多到东西没有搞懂,但还是能够感到学到了很多东西

7 致谢

首先,要感谢kid能够在perlChina群里举办一个学习到讲座,让我打开这扇窗户,接触到新到世界,也是他 不停到在解答我很弱智到问题。 然后,要感谢老Xu等perlchina群里到所有的人

8 以后要整理到内容

8.1 中文到对齐

8.2 输出到格式到问题

8.3 行号到问题,好像还是没有输出?

8.4 配置保存,安装undo-tree

8.5

Date: 2013-01-30T22:21+0800

Author: gaorongchao

Org version 7.9.3d with Emacs version 23

Validate XHTML 1.0

你可能感兴趣的:(emacs org初学者指南)