Emacs消息功能在主窗口中显示消息,而不是在回显区域

Emacs消息功能在主窗口中显示消息,而不是在回显区域,emacs,elisp,Emacs,Elisp,从Emacs文档中可以找到,message函数应该在Emacs框架底部的echo区域中显示其消息。但当我调用它时,它会在主窗口中的光标位置打印消息。我做错什么了吗?我怎样才能让它在回音区打印呢 这是我正在使用的代码,如果它重要的话。我试图摆脱使用backspace的习惯,而是使用backward kill单词,因此我在init.el中重新映射了backspace: (global-set-key (kbd "<backspace>") (message "Don't use back

从Emacs文档中可以找到,message函数应该在Emacs框架底部的echo区域中显示其消息。但当我调用它时,它会在主窗口中的光标位置打印消息。我做错什么了吗?我怎样才能让它在回音区打印呢

这是我正在使用的代码,如果它重要的话。我试图摆脱使用backspace的习惯,而是使用backward kill单词,因此我在init.el中重新映射了backspace:

(global-set-key (kbd "<backspace>") (message "Don't use backspace!"))
(全局设置键(kbd“”)(消息“不要使用退格!”)

可以绑定到键(即交互调用)的函数称为命令。 要使函数成为命令,需要添加 对于delaration:

(全局设置键(kbd“”)
(lambda()
(互动)
(信息“不要使用退格!”)

您缺少
(lambda()(交互式)(消息…)
,所以我应该使用它,而不仅仅是调用消息?这是为什么?添加
interactive
使函数成为命令。只有命令可以绑定到键。谢谢,这解决了它。我没有意识到关于命令和函数。如果您想将其作为答案,我将接受。请注意,在原始代码中,您正在将一个键绑定到
(消息“请勿使用backspace!”)
(这是立即计算的,而不是在随后键入绑定键时)。您想使用
(lambda…
,因为它的返回值是一个函数。