问:如何获得自定义org链接功能以自动插入描述?
我想org将指向文件的链接存储在dired缓冲区中,但更希望链接描述为文件名没有路径,而不是报告完整路径,即:
file:~/the/full/path/myfile.ext ; default, but no thanks
myfile.ext ; what I want
现在:对org-store-link来自的链接dired进行硬编码以提供默认值。相反,我编写了一个自定义函数(从硬编码函数中复制)并将其添加到org-store-link-functions:
(defun dired-store-link ()
(when (derived-mode-p 'dired-mode)
(let ((file (dired-get-filename nil t)))
(setf file (if file
(abbreviate-file-name (expand-file-name file))
default-directory))
(org-store-link-props :type "dired"
:link file
:description (file-name-nondirectory file))
file)))
(add-to-list 'org-store-link-functions #'dired-store-link)
到目前为止,一切都很好,并且可以按预期工作,但是有一点:
org-insert-link使用内置的默认行为进行调用时,它只是插入链接而无需询问我任何描述。- 当
org-insert-link使用我的自定义函数进行调用时,它会提示我输入说明(正确地使用存储在:description属性中的文件名填充该说明)。
我希望每次都不会提示您输入描述,而是希望org-insert-link使用:description自定义函数集的值。
我如何说服自动org-insert-link使用:description而不提示我呢?
link-location或default-description函数中的功能有org-insert-link帮助吗? 如果LINK-LOCATION参数为非nil,则此值将用作链接位置,而不是交互式读取一个值。如果DEFAULT-DESCRIPTION参数为非nil,则此值将用作默认描述。