我想实现一个命令,将前几个字符键入现有命令,然后让我输入其余的字符.
例如,已经输入以“icicle-”开头的icicle-execute-extended-command的变体.
我试过了:
>键盘宏
>失败(即使是像M-x这样简单的事情)也没有明显的原因.
>功能
>调用icicle-execute-extended-command阻止命令序列
我将如何以一般化的方式进行此操作?
最佳答案 好问题.
以下是您可以尝试的通用内容:
(defun no-mondays ()
(interactive)
(minibuffer-with-setup-hook
(lambda()
(insert "monday"))
(call-interactively 'query-replace)))
这是一个重构:
(defun with-initial-minibuffer (str fun)
`(lambda ()
(interactive)
(minibuffer-with-setup-hook
(lambda ()
(insert ,str))
(call-interactively ',fun))))
(defalias 'no-weekends
(with-initial-minibuffer
"\\(?:satur\\|sun\\)day"
'query-replace-regexp))