2017-05-18 16 views
1

私はそうのようdefun dotspacemacs/user-config()内のemacs/lispの関数を定義した:Spacemacsで関数を定義して呼び出す方法は?

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

私はそれを実行するにはどうすればよいですか?

+0

通常はEmacsのように呼び出します:) [elispの15分インタラクティブ関数](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 、またはキーシーケンスなどにバインドしてください。

関連する問題