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
函数将文本复制到 kill ring,但不删除它。回显区显示一条消息,指示缓冲区是只读的。此外,终端可能会发出哔声或闪烁提醒。