问这个问题是因为希望能实现在 org 文件中输入 [[ 插入链接的功能,目前的方案来自 这里 ,大致实现是这样的:
(defmacro my/define-double-key (name command)
"Define a new command NAME, that calls COMMAND if NAME was called twice with the same key."
`(defun ,name ()
(interactive)
(cond
((and (eq last-command (quote ,name))
(eq (char-before) last-command-event))
(delete-char -1)
(call-interactively ,command))
(t (insert (string last-command-event))))))
(my/define-double-key my/org-roam-node-insert #'org-roam-node-insert)
然后将 my/org-roam-node-insert
绑定到 org-mode-map 的 [
上。但是这个方案的作者用的是 doom 所以用的是 doom 的 map!
宏,而我没有使用 doom。另外,我的模式编辑方案使用的是 meow,所以希望这个绑定同时被限定在 meow 的 insert state 下和 org-mode-map 中。我不太确定 make-composed-keymap
是否适用于我的需求(以及如果适用的话,该如何使用),或者有没有别的解决方案,希望懂的道友不吝赐教。