gpt4 book ai didi

emacs - 如何在 org-mode 中自动跟踪到 gnus 消息的链接?

转载 作者:行者123 更新时间:2023-12-04 17:36:55 27 4
gpt4 key购买 nike

我将 org-mode + gnus + Gmail 用于我的日常 GTD 例程。其概念是将所有传入的消息视为任务,并使用 org-capture 将 INBOX 中的所有消息转换为 org-mode 的任务。一旦所有新消息都转换为任务,将它们存档,并希望 INBOX 保持为零。

我的工作流程如下:

  • 打开gnus INBOX的摘要 View ,选择一条新消息
  • 使用 org-store-link (C-c l)
  • 捕获消息
  • 打开我的 todo 文件 (todo.org),为它创建一个新任务,然后使用 org-insert-link (C-c C-l)
  • 将捕获的链接粘贴到任务的正文中
  • 返回 gnus 摘要 View 并归档消息 (B del)

  • 问题是当将邮件移动到存档文件夹时,捕获的链接会损坏,我无法再点击该链接。这是因为捕获的链接包含 IMAP 文件夹的名称,并且归档邮件会更改邮件的 IMAP 文件夹名称。例如。,
  • 截取链接:[[gnus:nnimap%2Blocalhost:%5BGmail%5D.Important#1364607772002.9702fb8c@Nodemailer][Email from Geeklist Team: Geekli.st Suggestions & Activi]] (IMAP 文件夹名称为 "[Gmail]Important" )
  • 存档消息链接:[[gnus:nnimap%2Blocalhost:%5BGmail%5D.All Mail#1364607772002.9702fb8c@Nodemailer][Email from Geeklist Team: Geekli.st Suggestions & Activi]] (IMAP 文件夹名称为 "[Gmail]All Mail" )

  • 所以我的问题是:当消息移动到其他文件夹时,如何自动更新捕获的链接?我想有一些钩子(Hook)可以做到这一点,但我找不到为此目的的好样本。或者欢迎任何针对这种例程的更简单的解决方案。 TIA。

    最佳答案

    我不使用 'org-store-link' 和 'org-insert-link' 而是使用 capture template ,它会自动生成指向消息的链接(下面的 %a)。因此,您不必切换缓冲区来存储 TODO 条目:

    (setq 组织捕获模板
    '(
    (“m”“邮件中的 TODO”条目(文件+标题“~/gitfiles/org/gtd.org”“收件箱”)
    "* TODO %?,链接:%a")))

    由于我所有的电子邮件都到达收件箱并存档在“存档”文件夹中,因此我可以使用以下函数将捕获缓冲区中组织模式链接中的字符串“收件箱”替换为“存档”:

    (defun hs/replace ()
    (交互的)
    (转到字符 1)
    (替换字符串“收件箱”“存档”))

    当我点击 C-c C-c 来归档捕获条目时,这个钩子(Hook)会调用该函数:

    (add-hook 'org-capture-prepare-finalize-hook 'hs/replace)

    所以,我的工作流程如下:

  • 在摘要缓冲区中选择一条消息
  • 点击 C-c c m 捕获带有链接到消息的 TODO 项目并编写描述(由于消息仍在收件箱中,生成的链接包含组“收件箱”)
  • 点击 C-c C-c 归档 TODO 条目(这调用函数 'hs/replace' 将字符串 INBOX 替换为存档)
  • 在存档文件夹中存档电子邮件。

  • 高温高压

    关于emacs - 如何在 org-mode 中自动跟踪到 gnus 消息的链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15736590/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com