“错误类型参数:commandp”错误拉姆达绑定到一个键时(“Wrong type argument

2019-06-18 06:19发布

在这里:我得到一个“commandp,(拉姆达零(向前行5))错误类型参数”。

(global-set-key [?\M-n] (lambda () (forward-line 5)))

什么是错误? 我相当肯定它是简单的和我想的东西明显。

Answer 1:

global-set-key期待交互式命令。 (lambda () (interactive) (forward-line 5))应该工作。

顺便说一句, Ch f commandp是这样的错误,一个非常好的起点。



Answer 2:

正确的形式应该是这样的 -

(global-set-key (kbd "M-n") (lambda () (interactive) (forward-line 5)))

问题是,你忘了把(interactive) (作为布伦丹提到)。

顺便问一下,你会发现,我所使用的(kbd)功能,能指定的键绑定。 这功能是非常有用的,因为你可以把键绑定几乎从字面上。



Answer 3:

我也看到了一台新机器,我用我平时对这个错误.emacs文件,但还没有安装我的包裹,并且要执行的命令是在这些软件包。 (因为不能绝对执行的命令不是交互式的!)



文章来源: “Wrong type argument: commandp” error when binding a lambda to a key
标签: emacs elisp