我在这里得到一个“错误的类型参数:commandp,(lambda nil(forward-line 5))”。
(global-set-key [?\M-n] (lambda () (forward-line 5)))
错误是什么?我很确定这很简单&我错过了一些明显的东西。
答案 0 :(得分:116)
global-set-key
需要一个交互式命令。 (lambda () (interactive) (forward-line 5))
应该有用。
顺便说一句,C-h f commandp
是一个非常好的起点,可以解决这类错误。
答案 1 :(得分:34)
正确的形式应该是这个 -
(global-set-key (kbd "M-n") (lambda () (interactive) (forward-line 5)))
问题是你忘了放(interactive)
(正如brendan所说)。
顺便提一下,您会注意到我使用(kbd)
函数指定了键绑定。这个函数非常有用,因为你几乎可以按字面意思放置键绑定。
答案 2 :(得分:2)
我在新机器上也看到了这个错误,我使用的是通常的func (f *crdclient) Update(obj *crd.Example) (*crd.Example, error) {
var result crd.Example
err := f.cl.Put().
Namespace(f.ns).Resource(f.plural).
Name(obj.Name).
Body(obj).Do().Into(&result)
return &result, err
}
文件,但是没有安装我的软件包,要执行的命令就在其中一个软件包中。 (因为无法执行的命令不是交互式的!)