Elisp中的interactive参数
interactive 参数的含义 若一个函数带有交互模式声明,则它是一个命令函数。即可以通过 M-x(execute-command) 来调用。 声明格式 (defun kumo-interactive-func () (interactive "code-string") ;; do something...) 种类 Completion: 提供补全。TAB,SPC 和 RET 完成补全。 Existing: 必须是存在的对象名。不接受无效名称。如果输入无效则不会退出 minibuffer。 Default: 如果未输入则使用默认值。 No I/O: 不读取任何输入。因此不会使用提示符。 Prompt: 放在提示符或\n之前。 Special: 只能放在交互式字符参数前。 含义 接收多个输入以 \n 来分隔。 *: 如果当前buffer处于read-only-mode时提示。 [Special] @: 在第一个鼠标事件触发的window调用。[Special] ^: 通过 shift 调用前需要标记区域,没有公共 shift 调用则停止标记。[Special] a: 一个函数定义的符号名。[Existing, Completion, Prompt] (defun with-func-arg (arg) (interactive "aEnter a function:") (funcall arg)) b: buffer名(已存在)。[Existing, Completion, Default, Prompt]...