org-mode 考虑果然细致

我之前还有点头疼,我平时记录的类似于时事类的信息,比如 tiktok 最近被美国安全监管等,用于追踪公司的动态的,这类应当如何用 org-capture 处理。

因为,我会用 org-roam 来针对我追踪的公司,分别建立一份 org 笔记,而我想把追踪的这些信息直接记录到这份笔记里。比如说,我追踪 tiktok 的动态,那么,我想把 tiktok 的最新 新闻,记录在 tiktok.org 的这份文件里。

但按照很多网络上的提示,org-capture 是将相关信息,直接记录在固定的文件当中——然后我不得不求助官方文档,查看一下 org-capture 到底是否有一些变通的方法,来实现我的目的。

然后我发现了一个命令 org-capture-refile ,这个命令的意思就是,如果有一份记录,不想记录在默认的文件里,那么就可以启动这个命令,将该信息记录在另外一个文件里。

实现流程,就是启动 org-capture ,启动里面的模板,记录完对应的信息之后,再直接按下 C-c C-w ,就可以把目前记录的信息,保存到另外一份文件里去。

当然,实际上, org-capture 的抓捕面板里,已经提示了我可以这么操作——但之前没有理解,这个命令的意思,因为那时候还没碰上合适的使用场景。

现在困扰了我这两天的问题,在查阅了官方文档,以及自己动手试了一下之后,发现 org-mode 的默认设置里已经解决了。

我不得不说,org-mode 考虑得果然细致。

3 个赞

话说,你在 org-capture 时,Emacs 会打开所有的 *.org 文件吗?

我以前没注意过,但是最近发现,org-capture 会加载我所有 ~/projects/org/* 下的 org 文件,而不是只打开 capture template

就是激活 org-capture-refile 的时候,你就可以选择将在 org-capture 下记录的信息,保存在另外一份文件里,而 org-capture 默认设置的文件。

但我不太理解你说的,org-capture 会加载你所有 ~/projects/org/* 文件是一个什么情形,你可以展开一下吗?或者截图发一下

比如,我启动 Emacs。此时,buffer-list 里就只有:

  1. scratch (current-buffer)
  2. Messages
  3. straight-process

但是当我做一次 org-capture 后,~/projects/org/ 下的所有 org 文件全都加载到了 buffer-list 中:

我想知道你那边也是这样吗?

还是只会加载 capture 涉及的 template, 甚至在capture 完成后会把 template 从 buffer-list 里去除?

PS: refile 是很好用的,第一次用时就很喜欢。

你看下你是不是把 org 文件夹设置到 org-agenda-file 的变量中了

我是这样写的:

(setq org-directory "~/projects/org"
       org-agenda-files (concat org-directory "/agenda.org"))

我打开一个 org 文件,C-h v org-agenda-files 的 value 也是 ~/projects/org/agenda.org:thinking:

你的 captuer 模板是怎么写的?

;;; ORG CAPTURE
(setq org-capture-templates
  '(("t" "Tasks")
    ("td" "With Dealines" entry
           (file+headline "tasks.org" "Deadlines")
           "* TODO %? %^G\nDEADLINE: %T" :kill-buffer t :prepend t)
    ("ts" "Scheduled" entry
           (file+headline "tasks.org" "TODOS")
           "* TODO %? %^G\nSCHEDULED: %T" :kill-buffer t :prepend t)
    ;; notes
    ("n" "Daily Notes" entry
     (file+headline "notes.org" "NOTES")
     "* %? %^G\n%U" :kill-buffer t :prepend t)
    ;; readings
    ("r" "Readings")
    ("ra" "Article" entry
     (file+headline "readings.org" "ARTICLE")
     "* TODO %^{Short title for heading} %^G \nTTL: %^{Long title} \nSRC: %^{Link} \n%u \nSUM: %^{Quick note?}"
     :kill-buffer t)
    ("rb" "Book" entry
     (file+headline "readings.org" "BOOK")
     "* TODO %^{Short title for heading} %^G \nTTL: %^{Long title} \nSRC: %^{Link} \n%u \nSUM: %^{Quick note?}"
     :kill-buffer t)))

就很普通啊,你那边没有这种问题?

我指定了 org-capture 的文件路径

;;;抓获想法
(add-to-list 'org-capture-templates
			 '("i" "Ideas" entry (file "~/我的坚果云/ideas.org")
			   "* %?"))
;;;抓获工作
(add-to-list 'org-capture-templates
			 '("w" "Work" entry (file "~/我的坚果云/worklog.org")
			   "** %?"))
;;;抓获日记
(add-to-list 'org-capture-templates
             '("j" "Journal" entry (file "~/我的坚果云/Diary/2022.org")
               "** %?"))
;;;抓获任务
(add-to-list 'org-capture-templates
			 '("t" "TODO" entry (file "~/我的坚果云/todo.org")
			   "* TODO %?"))
;;;抓获阅读记录
(add-to-list 'org-capture-templates
			 '("r" "readlog" entry (file "~/我的坚果云/readlog.org")
			   "* %?"))