新手:Elisp中的Keybindings错误

ble*_*fly 3 lisp emacs elisp

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

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

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

(defun na ()
       "Liten å"
       (setq varlol "å")
       (insert varlol))
Run Code Online (Sandbox Code Playgroud)

Tre*_*son 7

您缺少的是致电interactive:

(defun na ()
  "Liten å"
  (interactive)
  (setq varlol "å")
  (insert varlol))
Run Code Online (Sandbox Code Playgroud)

从它的文档:

这种特殊形式声明函数是一个命令,因此它可以交互式调用(通过 M-x或输入绑定到它的键序列).参数arg-descriptor声明了在交互式调用命令时如何计算命令的参数.