2017-05-18 49 views
1

我已經定義了一個emacs的/口齒不清函數內defun dotspacemacs/user-config()像這樣:如何在Spacemacs中定義和調用函數?

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

如何執行呢?

+0

你可以稱之爲通常在Emacs :)看到[15分鐘內的elisp - 交互功能](http://wikemacs.org/wiki/ Emacs_Lisp_in_15_minutes#Interactive_functions)和[other ressources](http://wikemacs.org/wiki/Category:Emacs_Lisp),希望有所幫助! – Ehvince

回答

2

該函數將評估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")) 

然後,您可以用調用它的MxclientdirRET ,或綁定到一個按鍵序列等...

相關問題