Mac系统emacs org-mode 学习笔记

0x00 美化准备

安装 org-bullets 插件,可以让org文本自带美化效果

M-x package-install <RET> org-bullets <RET>

配置启动参数, 使其自动生效

(require 'org-bullets)
(add-hook 'org-mode-hook (lambda () (org-bullets-mode 1)))

0x01 参考

参考文档 https://orgmode.org/orgguide.html

0x02 标题Headlines

* Top level headline
** Second level
*** Third level
    some text
*** Third level
    more text
* Another top level headline
  • 折叠热键:
    • C-<RET> 创建一个同级别的 Headline

    • Cmd-<方向> 调整Headline 等级

    • Tab: 针对光标所在节点, 对其下面的节点进行打开/折叠.
      比如 有多个顶级项目, 只关心当前项目的详情, 那么, 光标移到最后一个顶级标签上,多次Tab即可.

    • S-Tab: 全局切换: 分三个维度

      • 全部折叠, 只保留顶级标题
      • 全部展开, 但只显示所有次级目录标题
      • 全部展开, 会把所有正文也显示出来




所以, 正常使用时, 会优先使用S-Tab做全局折叠, 然后定位到目标标题, 再进行 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的标题
    • M-Left|Right 调节缩进
    • M-Up|Down 上下调节标题, 缩进不变, 但不可以移出父层级.
    • C-c C-w 把当前节点, 移到其他父节点下

0x03 列表

  • 无序列表: 以-,+,* 开头

  • 有序列表: 以1., 1) 开头

  • 描述符用 :: 区分

  • 重要热键

    • M-Ret: 根据当前序列,生成一个同型序列
    • M-S-Ret: 生成一个带checkbox 的序列
    • M-S-Up|Down: 上下移到序列行
    • M-Left|Right 调整序列缩进
    • M-S-Left|right 调整子序列树缩进
    • C-c C-c 切换开关

0x04 TODO

4.1.热键
  • C-c C-t 可以在多个状态之间切换
  • 增加Done状态时的时间和日志:
    在启动参数中增加
(setq org-log-done 'time)
(setq org-log-done 'note)
  • C-c , : 设置优先级: A-C
  • S-Up|Down : 调节优先级
4.2.任务完成数

假设有一个TODO任务树, 可以在最父级的 TODO项后面 手动添加 [/]
接下来,对子任务状态切换时, 会自动更新 父级后面的 完成状态

4.3.CheckBox

子任务前面手动加一个 [ ]
实战:

  1. 手动写第一个任务标签: * checkbox [/]
  2. 手动写第一个子任务: - [ ] 分组学习
  3. 自动写第二个子任务: S-M-Ret : 任务2
  • C-c C-c: 状态切换
4.4.Tag

在标签行尾添加Tag: :work:, :tag1:tag2:
注意: tag ,不能用在 [/] checkbox 的任务项上

最佳实战: 在父级任务上加 tag

  • C-c C-c: 修改/新增 tag
  • C-c \: 查找tag

0x05 日期和时间

5.1. 时间表现形式
  • 时间点:
* Meet Peter at the movies
  <2006-11-01 Wed 19:15>
* Discussion on climate change
  <2006-11-02 Thu 20:00-22:00>
  • 重复时间: + n d|w|m|y
* Pick up Sam at school
  <2007-05-16 Wed 12:30 +1w>
  • 日记入口
* 22:00-23:00 The nerd meeting on every 2nd Thursday of the month
  <%%(diary-float t 4 2)>
  • 时间范围
** Meeting in Amsterdam
   <2004-08-23 Mon>--<2004-08-26 Thu>
  • 禁用时间: 使用方括号[]
* Gillian comes late for the fifth time
  [2006-11-01 Wed]
  • 创建时间
    C-c . 插入时间 ,
    如果需要显示时间, 输入C-c . 后, 直接输入 18:30, 再选择日期即可.
    S-Up|Down|Left|Right 更改日期

  • 到期日和计划日
    C-c C-d: 插入 DEADLINE
    C-c C-s: 插入SCHEDULED

  • 统计时长

0x06 Agenda 视图

M-x org-agenda : 可以显示本周 Todo项
也可以配置全局热键:

(global-set-key (kbd "C-c a") #'org-agenda)

0x07 输出到iCalendar

C-c C-e c f 输出到ics文件 , 自行导入 ics

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章