interactive 表达式 ¶zap-to-char 中的交互式表达式如下:
(interactive "p\ncZap to char: ")
引号内的部分 "p\ncZap to char: " 指定了两项内容。第一项最简单,是 ‘p’,与下一部分用换行符 ‘\n’ 分隔。‘p’ 表示函数的第一个参数将接收 处理后的前缀参数(processed prefix) 值。前缀参数可通过 C-u 加数字或 M- 加数字传入;若交互式调用时未带前缀,则该参数为 1。
"p\ncZap to char: " 的第二部分是 ‘cZap to char: ’。其中小写字母 ‘c’ 表示 interactive 需要显示提示,且参数为一个字符。提示文本紧跟在 ‘c’ 之后,即字符串 ‘Zap to char: ’(冒号后加空格以美观显示)。
这些设置的作用是为 zap-to-char 准备正确类型的参数,并向用户显示提示信息。
在只读缓冲区中,zap-to-char 会将文本复制到删除环,但不会真正删除。回显区会提示缓冲区为只读,终端可能同时发出蜂鸣或闪烁。