问:如何获得自定义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,则此值将用作默认描述。