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

How do you define and call a function in Spacemacs?

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

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

如何执行?

该函数将计算 neotree-dir 变量并丢弃结果,然后计算 "~/Projects/Clients" 字符串和 return 它。

即您的函数无条件地 return 值 "~/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 调用它,或者将它绑定到一个键序列,等等。 .