如何在Spacemacs中定义和调用函数?

时间:2017-05-18 08:35:39

标签: emacs spacemacs

我在defun dotspacemacs/user-config ()中定义了一个emacs / lisp函数,如下所示:

(defun clientdir ()
"docstring"
neotree-dir "~/Projects/Clients"
)

我该如何执行?

1 个答案:

答案 0 :(得分:3)

该函数将评估neotree-dir变量并丢弃结果,然后评估"~/Projects/Clients"字符串并将其返回。

即。您的函数无条件地返回值"~/Projects/Clients"(除非neotree-dir未绑定为变量,在这种情况下它将触发错误)。

猜测您想要调用一个名为neotree-dir的函数并将其作为参数传递给它"~/Projects/Clients"?这看起来像这样:(neotree-dir "~/Projects/Clients")

如果要以交互方式调用函数,则必须将其声明为interactive函数:

(defun clientdir ()
  "Invoke `neotree-dir' on ~/Projects/Clients"
  (interactive)
  (neotree-dir "~/Projects/Clients"))

然后您可以使用 M-x clientdir RET 调用它,或将其绑定到键序列等...