【问题标题】:Org-agenda-files replaces directories with explicit filenamesOrg-agenda-files 用显式文件名替换目录
【发布时间】:2012-05-13 06:22:06
【问题描述】:

我在org-agenda-files 变量中有一个目录tasks/。当我通过 C-c [ 命令 (org-agenda-file-to-front) 将文件添加到 org-agenda-files 变量时,目录路径将替换为当前位于该目录中的文件的路径。这很糟糕,因为当我稍后将一些文件添加到 tasks/ 时,它们不会对我的议程做出贡献。

有没有办法避免这种情况,或者我被手动添加文件和目录卡住org-agenda-files

Org Mode - Organize Your Life In Plain Text! 已确认此问题

Emacs 版本:24.0.50.1 组织模式版本:7.8.09

【问题讨论】:

  • 我希望我能尽快解决这个问题。
  • 没有更新。但是请在 Org-mode 邮件列表中提出这个问题,我不常来这里。
  • 其实我不明白这个问题:该命令将一个文件添加到议程文件列表中,而不是整个目录。添加整个目录并不是大多数用户想要的。我错过了什么?
  • @bzg,当您尝试添加文件时,如果列表中已有目录,则将其替换为其中的文件列表。
  • 而且显式文件名列表似乎不完整,有一些 .org 文件未包括在内。我必须手动重新设置 org-agenda-files 以在我的议程中获取那些丢失的条目。

标签: emacs elisp org-mode


【解决方案1】:

您可以定义一个命令,该命令仅将文件添加到 org-agenda-files 而无需调用 org-agenda-files-to-front,然后将其重新转换为 C-c [.例如:

(defun my-org-agenda-file-to-front ()
  (interactive)
  (setq org-agenda-files (append org-agenda-files (list (buffer-file-name (current-buffer))))))

(define-key org-mode-map (kbd "C-c [") `my-org-agenda-file-to-front)

【讨论】: