可以从 Dired 缓冲区直接将文件附加到某个子树。使用该功能时,一个窗口打开 Dired 并显示待附加的文件,另一个窗口将光标定位到目标子树。在 Dired 窗口中将光标放在文件上,执行 M-x org-attach-dired-to-subtree 即可按 org-attach-method 设置的方式将文件附加到子树。若在 Dired 中标记了多个文件,则所有标记文件都会被附加。
将以下代码添加到 Emacs 初始化文件,即可在 Dired 缓冲区中使用 C-c C-x a 附加文件:
(add-hook 'dired-mode-hook
(lambda ()
(define-key dired-mode-map
(kbd "C-c C-x a")
#'org-attach-dired-to-subtree)))
下面代码展示如何为该命令绑定指定的附件方式:
(add-hook 'dired-mode-hook
(lambda ()
(define-key dired-mode-map (kbd "C-c C-x c")
(lambda ()
(interactive)
(let ((org-attach-method 'cp))
(call-interactively #'org-attach-dired-to-subtree))))))