Определить анонимную функцию для привязки к ключу злого лидера

Какой синтаксис необходим для привязки к ключу 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)))
Другие вопросы по тегам