Skip to content

Latest commit

 

History

History
291 lines (240 loc) · 11.7 KB

File metadata and controls

291 lines (240 loc) · 11.7 KB

org简略教程

本文档摘录笔记神器Org的使用方法,主要集中在快捷键,以备后续查看。

安装

高版本的emacs已经集成了org插件,仅需要设置以下全局绑定的快捷键

(global-set-key "\C-cl" 'org-store-link)
(global-set-key "\C-ca" 'org-agenda)
(global-set-key "\C-cc" 'org-capture)
(global-set-key "\C-cb" 'org-iswitchb)
  

org的文档结构

大纲

Org是基于Outline模式(大纲模式)的,但它提供了更灵活的编辑结构文件的命令。 大纲模式可以让我们用层次结构来组织文档,可以折叠(隐藏)文档的一部分而只显 示文档的大概结构或者只显示我们正在处理的部分。

标题

第一级的标题以一个”“号开头,第二级的标题用两个”“号开头,以此类推。

Top level headline
** Second level
*** 3rd level
  some text
*** 3rd level
  more text

Another top level headline
  

快捷键

标题折叠

emacs打开.org文件时,默认全局状态为overview,仅显示一级标题;可利用关键字 #+STARTUP: 逐文件设定显示状态,或通过 org-startup-folded 全局变量全局设 定;取值范围, overview/content/showall

描述
TAB子树折叠, folded –> children –> subtree –>
S-TAB全局折叠, overview –> contents –> show all –>
C-u C-u C-u TAB全部显示,包括drawer

快速移动

描述
C-c C-n/p在标题之间移动
C-c C-f/b在同级标题之间移动
C-c C-u移动到上级标题

编辑标题

描述
M-RET插入同级别标题或item,取决于光标所在地方
M-S-RET插入与当前标题同级别TODO待办事项
M-left/right提升/降低当前标题级别
M-S-left/right提升/降低当前子树级别
M-S-up/down和临近子树互换位置

构建稀疏树

描述
C-c /触发构建稀疏树的快捷键
C-c / r利用正则表达式构建稀疏树

链表

ORG支持的普通链表分为

  • 有序链表,以1)和1.开头
  • 无序链表,以+或-或*开头
  • 解释链表,在无序链表的基础上,后跟 ~:: 描述信息~

快捷键

描述
TAB像标题一样折叠
M-RET插入相同级别的项
M-S-RET插入带有checkbox的项
C-c C-c改变checkbox的状态
M-S-up/down和临项互换位置
M-S-left/right增加/减少表项及子树的缩进
M-left/right增加/减少当前表项的缩进

注脚

利用方括号在起始列定义

快捷键

描述
C-c C-x f在注脚和定义之间跳转,和创建新注脚
C-c C-c在定义处和引用处跳转

Org提供了快速且直观的表构建器,而且类似于excel可以提供部分计算功能。

  • 任何行非空起始字符为’|’,作表的行
  • 利用’|’作列分隔器
  • 利用’|-‘作行分隔符

当在表格中按TAB或RET或C-c C-c键时,自动调整列空间、对齐等。

快捷键

描述
C-c 竖线将当前活动区域转换为表,利用TAB、逗号、空格等分隔
C-c C-c重新调整表格
M-left/right向左/右移动当前列
M-S-left删除当前列
M-S-right在光标左侧插入列
M-up/down当前行上/下移
M-S-up删除当前行
M-S-down在光标上侧插入行
C-c ^排序表行

超链接

和HTML一样,Org也提供了丰富等连接方式,如文件内连接、外部文件连接、网络 文章、email等。

连接格式为

[[link][description]]

快捷键

描述
C-c l将当前位置存储为快捷键,以备引用
C-c C-l插入链接,或编辑当前链接
C-c C-o打开链接

待办事项

Org支持从多个文件收集待办事项,以便于用户管理。

  • 标题如果以关键字TODO开头,则为待办事项
  • 可通过 #+TODO: 关键字定制状态集合
  • 支持优先级
  • 在项尾部添加 [\][%] ,可跟踪子待办事项进度
  • 配合进度,子项可使用checkbox

快捷键

描述
C-c C-t循环设置TODO项的状态
C-c / t构建基于TODO项的稀疏树
C-c a t显示所有global的TODO项,从所有的agenda文件
S-M-RET插入新的TODO项
C-c ,设置优先级,从A、B、C中选择
S-up/down增加/减少优先级

标签

这是实现label和内容交叉引用的比较优雅的方式

  • headline可以包含多个标签
  • 标签只能由letter、number、下划线、@符构成
  • 前后由单冒号包围,如 :example:
  • 标签使用outline的继承体系,父标题标签被子标题继承
  • 可利用关键字 #+TAGS: 设置文件标签
  • 支持group标签

快捷键

描述
C-c C-q为当前标题输入新标签
C-c C-c和C-c C-q相同
C-c / m利用标签构建稀疏树
C-c a m从agenda文件,构建匹配标签的缓存
C-c a M从agenda文件,构建匹配TODO项标签的缓存

属性

是绑定到项的键值对

  • 存在于名为 PROPERTIES 的特殊drawer
  • 每个属性单独成行,键在前,值在后
  • 可以通过在父标题定义 属性_ALL ,来限制子标题中 属性 的取值范围
  • 利用属性构建稀疏树的快捷键,同标签

快捷键

描述
C-c C-x p设置属性
C-c C-c d删除属性

时间

为支持项目计划,待办事项需要时间戳。

  • 可出现在标题或其他地方
  • 有多种格式
  • 支持DEADLINE、SCHEDULED等特定含义的时间戳
  • 允许任务计时
  • 根据功能可分为几类
    • 普通时间戳,如 <2006-11-01 Wed 19:15>
    • 带重复间隔的时间戳,如 <2007-05-16 Wed 12:30 +1w>
      d/w/m/y - 日/周/月/年
              
    • 特殊的Diary-style sexp entries
    • 时间间隔,如 <2004-08-23 Mon>--<2004-08-26 Thu>
    • 非激活的时间戳,如 [2006-11-01 Wed]

快捷键

描述
C-c .插入时间戳,需要两次以插入时间间隔
C-c !插入非激活时间戳
S-left/right以天为单位改变光标处的时间戳
S-up/down改变光标处的时间戳
C-c C-d插入带关键字DEADLINE的时间戳,完成日期
C-c C-s插入带关键字SCHEDULED的时间戳,开始日期
C-c C-x C-i/o开始/停止任务计时
C-c C-x C-q取消当前任务计时
C-c C-x C-j跳转到有计时的任务
C-c C-x C-r插入动态计时时钟
C-c C-c更新动态计时时钟

agenda日程视角

鉴于Org的工作方式,待办事项、时间戳项、标签项等可以收集起来,这个存储的缓存 一般称为agenda buffer。

  • 收集信息的文件集合称为agenda files
  • 此缓存只读
  • 但提供访问甚至修改原文件的命令

快捷键

描述
C-c [当前文件加入agenda files
C-c ]从agenda files移除
C-,遍历agenda files列表
C-c a启动agenda分发器

打印输出

输出为HTML、LATEX、或DocBook时,为了更好的呈现结构化的效果,需要一些设置。

#+TITLE:
文档标题
#+AUTHOR:
作者
#+DATE:
日期
#+EMAIL:
电子邮件地址
#+LANGUAGE:
输出语言,如en
#+OPTIONS:
H:2 num:t toc:t \n:nil ::t |:t ^:t f:t tex:t
#+OPTIONS: H:4
仅将前3级outline当作heading
#+OPTIONS: toc:2/nil
仅将前2级outline当作目录/无目录

在每行末尾添加,起到分行的目的
空行
分隔段落
#+BEGIN_VERSE … #+END_VERSE
保持原段落语句格式
#+BEGIN_QUOTE … #+END_QUOTE
做为引用段落,左右边整体缩进
#+BEGIN_CENTER … #+END_CENTER
局中
bold
字体加粗
underlined
下划线
italic
斜体
code
程序加深字体
verbatim
字面体输出
strike-through
删除线
--------
横向切割线
#+BEGIN_COMMENT … #+END_COMMENT
COMMENT关键字
#
注释
#+BEGIN_EXAMPLE … #+END_EXAMPLE
#+BEGIN_SRC … #+END_SRC
:
包含不需要标记的部分,原样输出
#+INCLUDE:
引入其他文件的内容
#+HTML:
#+BEGIN_HTML … #+END_HTML
按字面输出HTML格式的文本

快捷键

C-c C-e,开启输出发布器

C-c C-e t a
输出为ASCII文件
C-c C-e t u
输出为ASCII文件,但以utf-8编码
C-c C-e h h
输出为HTML文件
C-c C-e h o
输出为HTML文件,并立即用浏览器打开

_VERSE