Определить анонимную функцию для привязки к ключу злого лидера
Какой синтаксис необходим для привязки к ключу t
работа в ниже?
(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
звоните и другие. Возможно, вы не можете сделать это таким образом?
1 ответ
Решение
Функция должна быть интерактивной. например
(evil-leader/set-key
...
"t" (lambda () (interactive) (enlarge-window 5)))
Заметка: если многословие вас не устраивает, этот макрос может исправить это:
(defmacro λ! (&rest body)
`(lambda () (interactive) ,@body))
(evil-leader/set-key
"t" (λ! (enlarge-window 5)))