当我使用define-skeleton定义一个函数时,我能够在我的缩写表中创建它的缩写,
("abbrev_name" "" function_name nil)
但是,如果我使用defun(需要争论),例如,
(defun function_name (arg)
""
(interactive "sThe argument is")
(insert arg)
)
然后我仍然可以使用" M-x function_name"但是我无法使用缩写来调用它(我得到一条错误消息,其中包含错误的参数数量)。我可以在这里使用解决方法吗?
答案 0 :(得分:3)
Emacs用0参数调用你的函数
而不是
("abbrev_name" "" function_name nil)
使用它:
("abbrev_name" "" (lambda () (call-interactively 'function_name)) nil)
这样,emacs会提示您将字符串插入迷你缓冲区。
答案 1 :(得分:0)
让我们从您的实际问题开始:
(defun function-name ()
(let ((arg (read-from-minibuffer ....)))
...))
现在,我认为你要找的是skeletons。