美文网首页程序员
Emacs 使用org-agenda 管理日程

Emacs 使用org-agenda 管理日程

作者: 机械猿 | 来源:发表于2018-03-18 21:36 被阅读0次

    如何使用org设置日程上篇已经介绍完,那现在的重点就是如何查看日程,并且真正将org运用到日常工作中来。之前学习org跨越了很长时间,但一直没有落实到日常应用,所以过一阵子就会忘记,得来的教训就是学习任何语言,工具一定要落实在使用中,纸上谈兵要不得。让我们一起开始使用org-agenda查看,管理及运用设置好的日程。

    纸上得来终觉浅,绝知此事要躬行.

    日程 Agenda

    定义完ToDo之后,使用M-x org-agenda 打开日程buffer,可看到当前排的所有日程,并可以直接进行优先级等操作。那如何归纳整理自己的日程表呢,通常我使用多个文件来代表不同的类型。

    日程文件

    可以针对不同的任务类型,定义多个日程或任务文件,然后将文件加入全局的日程文件列表,统一纳入org的管理。

    以下来举例:
    使用C-h v 查看变量org-agenda-flies,当前有一个文件,现在我们再加入另一个

    image.png

    打开org文件,使用org-agenda-file-to-front或者快捷键C-c [ 将当前文件加入到全局列表。这样一来,我们定义的日程就会加入到全局列表,使用emacs统一进行管理了。也可以通过emacs配置文件加入。

    image.png

    然后就可以使用M-x org-agenda a 打开agenda界面了。


    image.png
    快捷键 功能
    C-c [ 将当前文件加入全局列表
    C-c ] 将当前文件移除全局列表
    C-c C-x < 锁定当前文件即在org agenda的buffer中只显示当前文件的日程(org-agenda-set-restriction-lock)
    C-c C-x > 解锁(org-agenda-remove-restriction-lock)

    可以打开speedbar ,在文件上使用< 和> 来锁定和解锁。

    日程操作

    前一章已经介绍过,使用org-agenda打开日程buffer,此时可以选择多种视图方式,以便更加方便的查看日程。

    image.png

    Emacs 内置了多种视图,下面会一一介绍,首先来看都有哪些操作。

    视图中的操作

    其他快捷键及功能:

    快捷键 功能
    b daily视图
    w weekly视图
    n/p 上/下移动光标
    N/P 上/下按日程移动光标
    SPC 在另一缓冲区显示任务在org文件中的定义的位置
    TAB 在另一缓冲区显示任务在org文件中的定义的位置,并且光标跳转至此
    L 显示任务在文件中位置并且光标居中
    RET 在当前buffer打开文件并跳转
    F 打开跟踪模式,即移动光标时,另一buffer显示当前任务的定义处
    C-c C-x b 显示任务及子树,并可以设置层数
    C-c C-o 打开链接
    o 关闭另一个buffer
    A 打开另一种视图并嵌入到当前视图中
    v 弹出多个命令进行选择
    f/b 下一天
    . 跳转至当天
    j 选择日期并跳转
    D 包含日记
    r 刷新agenda buffer
    / 通过tag过滤
    < 通过类型过滤
    ^ 通过 top headline 过滤
    = 通过模式匹配过滤
    | 去除所有过滤
    t 改变状态
    C-S-Left/C-S-Right 改变状态
    C-k 删除
    C-w 重新归档某项日程
    $ 归档,通常是另一个文件
    T 显示所有tag
    : 设置tag
    , 设置优先级
    +/- 或者 S-up/down 设置优先级
    z 添加note
    C-c C-a 附件
    C-c C-s 安排日程
    C-c C-d 设置deadline
    S-Left/Right 改变日期
    > 改变日期
    I 插入clock
    O 停止上一个clock
    X 取消当前clock
    J 跳转之clock处
    M-Up/Down 拖拽一个日程
    m mark当前日程
    * mark所有日程为重点
    u 取消mark当前日程
    U 取消mark所有日程
    M-m 设置/取消当前mark
    M-× 设置/取消所有mark
    B bulk action
    C-x C-w 导出。可以为.html .pdf .ps .org
    q 退出
    x 退出,包括所有相关打开的buffer

    太多了,大家通过帮助自己尝试吧。

    Weekly/daily 视图

    输入M-x org-agenda 时, 选择a 进入此视图。

    在此视图中,操作在上一节介绍过。大家实践一下,通常使用的也就几个功能,碰到需要用的其他,再来查询具体快捷键。

    ToDo 视图

    输入M-x org-agenda 时, 选择t/T 进入此视图。
    t, 列出所有的todo
    T,可以选择特殊的key来进行过滤。

    Tag和属性过滤视图

    输入M-x org-agenda 时, 选择m/M 进入此视图。
    m, 根据tag进行过滤

    语法:
    ‘work’: 选择tag ‘:work:’.
    ‘work&boss’: 选择tag ‘:work:’ 和 ‘:boss:’.
    ‘+work-boss’: 选择tag ‘:work:’, 忽略 tag ‘:boss:’.
    ‘work|laptop’: 选择tag ‘:work:’ 或 ‘:laptop:’.
    ‘work|laptop+night’:选择有laptop 并且有night的tag

    除了tag,还可以使用正则表达式,例如: ‘work+{^boss.*}’ ,选择带有work的tag并且以boss开头

    更多的语法及表达式就不介绍了,有需要时,查文档获取。

    search 试图

    输入M-x org-agnda 时, 选择s 进入此视图。
    根据关键字查找或者正则。

    stuck project试图

    输入M-x org-agnda 时, 选择# 进入此视图。
    参考了David Allen的GTD方法,一个stuck的project是没有定义下一步action的日程,不会在todo显示

    分类

    每个org todo文件都有一个分类,默认就是文件名。

    可以在文件开头加入:

    #+CATEGORY: xxx

    可以在某项日程中加入属性:

    :CATEGORY: xxx

    之后在检索过滤时,可以根据分类来进行u过滤

    Column 视图

    列模式在上篇文章已经介绍过。
    使用C-c C-x C-c 进入列模式。
    此处不介绍了。

    格式

    导出时,Html等格式可以定义更多的格式,所以Emacs 可以定义更多的格式。

    例如:

    *bold*, /italic/, underlined, =verbatim= and code,

    我只用到导出纯文本,故此项未深入了解。

    最后

    终于将org从头开始过了一遍,在行进的路上任重而道远,坚持使用,道法自然。

    相关文章

      网友评论

        本文标题:Emacs 使用org-agenda 管理日程

        本文链接:https://www.haomeiwen.com/subject/uggeqftx.html