你如何在 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 调用它,或者将它绑定到一个键序列,等等。 .
我在 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 调用它,或者将它绑定到一个键序列,等等。 .