我想调用函数markdown-back-to-heading
,该函数在Emacs的Markdown模式下是本地的。我了解到interactive
可以将非交互功能变成交互式功能,或正式地functions into commands:
特殊格式:交互式
arg-描述符此特殊形式声明函数是命令,因此可以交互地调用它(通过M-x或通过输入绑定到它的键序列)。
我尝试过:
(define-key markdown-mode-map (kbd "C-c C-h") 'markdown-back-to-heading)
这将引发错误:
Wrong type argument: commandp, markdown-back-to-heading
。
所以我用一个交互功能将其包装起来,并且可以使用:
(defun my-markdown-back-to-heading () "Wrap function to be called interactively." (interactive) (markdown-back-to-heading)) (define-key markdown-mode-map (kbd "C-c C-h") 'my-markdown-back-to-heading)
是否有更好的方法将本机功能转换为交互式命令?
我想调用markdown-to-to-heading函数,该函数在Emacs的Markdown模式下是本地的。我了解到交互将非交互功能变为交互功能,或者正式将功能转换为...
如果要使markdown-back-to-heading
具有交互性,则有几个不同的好选择:
您也可以使用interactive-form
符号属性。
按照@Stefan的建议,我filed a Github issue和submitted a patch,在源代码中添加了行(interactive "P")
: