新手:Elisp中的Keybindings错误

时间:2010-03-23 15:16:17

标签: emacs lisp elisp

我正在尝试对“na”函数进行简单的键绑定。当我执行(na)时,它在当前缓冲区中插入“å”,它应该是,但是当我尝试第一行中描述的键绑定时,我得到错误:“错误的参数:commandp,na”。 我不确定它是否重要,但我还在代码的末尾放了(local-set-key)命令,但它产生了同样的错误。

现在,我确信有一个简单的解决方案。我只是看不到它= /

(local-set-key (kbd "C-c C-t") 'na)

(defun na ()
       "Liten å"
       (setq varlol "å")
       (insert varlol))

2 个答案:

答案 0 :(得分:7)

您所缺少的是致电interactive

(defun na ()
  "Liten å"
  (interactive)
  (setq varlol "å")
  (insert varlol))

来自它的文档:

  

这个特殊形式声明了一个   function是一个命令,它可以   因此,交互式呼叫(通过    M-x 或输入密钥   序列绑定到它)。争论   arg-descriptor声明如何计算   当命令的参数   命令以交互方式调用。

答案 1 :(得分:2)

缺少“互动”

(defun na ()
  (interactive)
       "Liten å"
       (setq varlol "å")
       (insert varlol))