我在不同系统里共享GTD文件,因为文件的存放路径不一样,因此不同系统里配置agenda时需做相应修改。
为方便修改配置,我定义了一个变量 myGTDdir
(defvar myGTDdir "\path of my GTD files")
在配置 agenda 相关文件路径时都以该变量作为前缀,这样一来在我更换系统时只需修改该前缀就可以了。
以下几个语句都能正常工作:
(setq org-agenda-diary-file (concat myGTDdir "/GTD/diary"))
(setq diary-file (concat myGTDdir "/GTD/diary"))
(setq org-agenda-files (list (concat myGTDdir "/GTD")))
但是,我如法炮制设置org-capture-templates
后, org-capture却不能正常工作:
(setq org-capture-templates
'(("t" "Task" entry
(file+headline (concat myGTDdir "/GTD/inbox.org") "Task"))))
错误信息: org-capture-expand-file: Invalid file location: nil
请问我该如何配置org-capture-templates
?
另外,是否有更好的方法解决不同系统共享GTD文件时路径不一致的痛点?