2016-05-24 10 views
0

キーへのバインドを以下のように機能させるために必要な構文は何ですか?evil-leader-keyへのバインドに匿名関数を定義する

(evil-leader/set-key 
    "f" 'find-file 
    "o" 'other-window 
    "b" 'switch-to-buffer 
    "k" 'kill-buffer 
    "1" 'delete-other-windows 
    "2" 'split-window-below 
    "3" 'split-window-right 
    "c" 'winner-undo 
    "w" 'enlarge-window-horizontally 
    "t" (lambda() (enlarge-window 5)) 
    "d" 'ido-dired) 

私はちょうどenlarge-windowコールなどを引用し、式全体を引用するなど、いくつかのバリエーションを、試してみました。おそらくあなたはこのようにすることはできませんか?

答えて

2

この関数はインタラクティブである必要があります。例えば

(evil-leader/set-key 
    ... 
    "t" (lambda() (interactive) (enlarge-window 5))) 

サイドノート:冗長性のバグ場合は、このマクロはそれを修正することができます。

(defmacro λ! (&rest body) 
    `(lambda() (interactive) ,@body)) 

(evil-leader/set-key 
    "t" (λ! (enlarge-window 5)))