因为使用 Org 文件记笔记,Org 文件的图片附件管理是将图片放在以 Org 文件名称的子文件下。
所以 Org 文件中需要声明一个 file local variables:org-media-note-screenshot-image-dir
这个变量是和文件名相关的,这样使用 org-download-screenshot
就可以将截图存到org-media-note-screenshot-image-dir
指定的子文件夹中。
文件名为“Tool tips on text in Emacs”Org 文件内容范例:
# -*- eval: (setq org-media-note-screenshot-image-dir (concat default-directory "./static/Tool tips on text in Emacs/")); -*-
#+TITLE: Tool tips on text in Emacs
这是正文。
这是正文。
可以看到第一行声明了这个 file local variable。
问题来了:
- 这行声明必须关闭 Org buffer,并重新打开该文件,手动输入 y(es) 确认该 file local variable 安全。如下图:
- 确认后,emacs 会将该 file local variable 写入 custom.el,如下:
(custom-set-variables
'(safe-local-variable-values
'((eval setq org-media-note-screenshot-image-dir
(concat default-directory "./static/Tool tips on text in Emacs/")))))
- 所以我想要简化该过程,尝试每次新创建 Org 文件时运行类似如下代码:
(add-to-list 'safe-local-variable-values `(eval (setq org-media-note-screenshot-image-dir (concat default-directory "./static/Tool tips on text in Emacs/"))))
但是该 file local variable 没有被写入 custom.el 还是需要像 1 中描述,手动确认。
所以该如何解决这个问题?
- 如何使得创建一个全新的 Org 文件时,将
(eval setq org-media-note-screenshot-image-dir
(concat default-directory "./static/全新的 Org 文件/")
写入 custom.el?
- 或者有没有什么方法跳过 emacs 需要强制确认 file local variable 是否安全?