Org mode 入门篇

Table of Contents

学习材料、路线

标题

#+TITLE: org-mode 入门篇

一、

  1. ..
  2. ..

二、

  1. ..
  2. ..

三、

  1. ..
  2. ..

四、

  1. ..
  2. ..

五、

  1. ..
  2. ..

六、

  1. ..
  2. ..

字体格式

blod *
italic /
strick through +
underline _
verbatim =
code ~
下标: \(H_{2}O\)
上标: \(E=mc^2\)

大纲视图

org-mode 用 * 号表示标题的层级关系,就像这样:

* 一级标题
内容

** 二级标题
内容

** 二级标题
内容

* 一级标题
内容

** 二级标题
内容

org-mode 有三种大纲显示模式:

  1. 全局 global

    • OVERVIEW
    • CONTENTS
    • SHOW ALL

    键入 S-TAB 在三个模式下切换。

  2. 子项 subtree

    • FOLDED
    • CHILDREN
    • SUBTREE

    将光标放置与某个子项上键入 TAB 在三个模式下切换。

快捷键

  • C-c C-n 下一个标题
  • C-c C-p 上一个标题
  • C-c C-f 下一个同级标题
  • C-c C-b 上一个同级标题
  • C-c C-u 跳转到父级目录
  • M-RET 创建同级别的新标题
  • M-S-RET 创建同级别的TODO条目
  • TAB 循环改变未指定标题名的标题的标题等级
  • M-LEFT/RIGHT 将当前标题提升或降级
  • M-UP/DOWN 上下交换同级别
  • C-c C-w 将当前条目放置与指定条目下
  • C-x n s/w 以当前子项为单位进行变窄和变宽

列表

  • 无序列表用 “-”, “+” 或 “*”
  • 有序列表用 “1.” 或 “1)”
  • 可以指定列表的说明,使用 “::” 将条目标题与说明隔开

快捷键

  • TAB 类似于标题的折叠
  • M-RET 新建同级项,如果要改变条目类型,可以使用前缀参数
  • M-S-RET 新建带有复选框的同级项
  • M-S-UP/DOWN 上下移动当前项,如果是有序的还会自动编号。
  • M-LEFT/RIGHT 将当前项降级或者升级
  • C-c C-c 勾选复选框
  • C-c - 循环修改当前项的条目符号

表格

org-mode 带有一个快速直观的表格编辑器,如果与 emacs 的 calc 包一起使用可以实现类似电子表格的计算。

  1. 先创建列名

    | name     | age | tel |
    
    
  2. 创建分割线

    | name | tel | age |
    |------+-----+-----|
    | name | tel | age|
    | -
    |
    - - > TAB
    
  3. 按 TAB 或 RET 新建行

快捷键

  • C-c C-c 重新对齐表格
  • TAB 重新对齐表格/移动到下一个单元格/创建新行
  • S-TAB 重新对齐表格/移动到上一个单元格
  • RET 重新对齐表格,并移动到下一行/创建新行
  • S-UP/DOWN/LEFT/RIGHT 交换单元格为上下左右的单元格
  • M-LEFT/RIGHT 交换列为左边或右边的列
  • M-S-LEFT 删除当前列
  • M-S-RIGHT 向右插入新列
  • M-UP/DOWN 上下移动当前行
  • M-S-UP 删除当前行
  • M-S-DOWN 在当前行上方插入新行,如果指定前缀参数会下下方插入新行
  • C-c - 在当前行上插入分割线
  • C-c RET 在当前行下插入分割线,并移动到水平线下一行
  • C-c ^ 根据当前列对表格进行排序

链接

  • 带说明的超链接 [[https://www.baidu.com][百度一下,你就知道] ]
  • 不带说明的超链接 [[www.baidu.com] ]

[[https://www.baidu.com][百度一下,你就知道] ]
[[file:///Users/haoran/.emacs.d/init.el][Emacs Config - init.el] ]
[[mailto:the_lty_mail@foxmail.com][EvanMeek’s 邮箱] ]
[[/irc.com/#emacs/evanmeek][IRC Emacs] ]
[[org#Hyperlinks][Emacs Org超链接内部文档] ]

在指定文件为指向的链接时,可以指定特定行或目标:
[[My Target1] ]
[[My Target2][目标2] ]
[[[BROKEN LINK: No match for fuzzy expression: 15]][Emacs Config - init.el 15L] ]
[[[BROKEN LINK: No match for fuzzy expression: Test] Target][test.org Test Target] ]

  • C-c C-x C-v 如果文件链接是图片,使用 C-c C-x C-v 显示图片。
  • C-c C-l 插入链接
  • C-c C-l 当光标置于一个超链接上,可以直接编辑它
  • C-c C-o 打开当前光标下的超链接
  • org-store-link, org-insert-last-stored-link

导出与发布

  • c-c c-e

待办事项

基础的待办事项功能

当标题的开头为“TODO”时,任何标题都会成为一个待办事项,例如:

* TODO 完成ORG-MODE笔记xxx部分

可以通过按键 C-c C-t 来对一个已存在标题标记不同的待办状态,默认情况下有三种待办状态:

  • TODO 待办事项
  • DONE 已完成的待办事项
  • unmarked 未标记为待办事项的标题,也就是普通的标题

还可以通过 agenda 缓冲区的 t 命令按键来远程完成切换不同待办状态。

  • C-c / t 用 Sparse Trees 浏览待办事项
  • M-x org-agenda t 显示全局的待办事项,待办事项列表从所有的 agenda 文件中收集,然后在一个单独的缓冲区内显示。
  • S-M-RET 新建一个待办事项

标签

  • C-c C-q 创建标签
  • C-c C-c 标题上创建标签

多种工作流状态

你可以为使用 “TODO” 关键字表明 @emph[顺序] 工作流状态:

(setq org-todo-keywords
      '((sequence "TODO" "FEEDBACK" "VERIFY" "|" "DONE" "DELEGATED")))

竖线之前的状态代表需要完成的事,而之后代表已完成的事。

有时你可能想要使用不同的方式设置 “TODO” 关键字:

(setq org-todo-keywords
      '((sequence "TODO(t)" "WAIT(w)" "|" "DONE(d)" "CANCEL(c)")
        (sequence "REPORT(r)" "BUG(b)" "KNOWNCAUSE(k)" "|" "FIXED(f)")))

以上代码让你在为一个标题提供待办事项状态时添加了一个键序列,你可以键入 C-c C-t 来查看效果。

如果你想为单独的 org 文件提供一个待办状态,并且为其添加键序列,可以使用如下配置:

#+TODO: TODO(t) | DONE(d)
#+TODO: REPORT(r) BUG(b) KNOWNCAUSE(k) | FIXED(f)
#+TODO: | CANCELED(c)

时间戳由尖括号 <> 或方括号 [] 表示,前者为激活时间,后者为非激活时间(不加入日程表的时间)。

记录日志

(setq org-todo-keywords
      '((sequence "TODO(t!)" "WAIT(w!)"  "|" "DONE(d@)" "CANCEL(c@)")))

其中 @ 代表记录日志,而 ! 代表记录时间戳,你也可以让他们具有两种功能: TODO(t@/!)

同样,我们也可以单独为某个 org 文件设置:

#+TODO: TODO(t) | WAIT(w@/!) | DONE (d!) CANCEL(c@)

优先级

当你大量使用Org模式后,你可能会有大量的待办事项条目,这个时候你可以为其设置优先级标记:

*** TODO [#A] 洗碗

有三种优先级模式,A-C,若不指定优先级,’B’等级是默认的。

  • C-c , 设置当前标题的优先级,键入 A-C 设置级别,或者键入 SPC 清除标记
  • S-UP/DOWN 提升/降低当前标题的优先级

任务细分

我们可以将一个待办事项分为多个小的待办事项,并且可以用一些标记用于对小的待办事项做统计:

待办事项的进度有两种呈现方式,一种是标记为 [/] 另一种是标记为 [%] ,如果它们的子项已完成,那么当前待办事项会自动切换状态为 DONE。

  • C-c C-c 刷新进度的状态

复选框

还记得清单列表么,其中有一个复选框的样式,复选框不会被包含在全局的待办事项列表中,因此很适合用来将一个待办事项划分为多个步骤的操作: