Ответ 1
global-set-key
ожидает интерактивную команду. (lambda () (interactive) (forward-line 5))
должен работать.
Кстати, C-h f commandp
является довольно хорошей отправной точкой для таких ошибок.
Я получаю "Неверный аргумент типа: commandp, (lambda nil (forward-line 5))" здесь.
(global-set-key [?\M-n] (lambda () (forward-line 5)))
Какая ошибка? Я уверен, что это просто, и я пропускаю что-то очевидное.
global-set-key
ожидает интерактивную команду. (lambda () (interactive) (forward-line 5))
должен работать.
Кстати, C-h f commandp
является довольно хорошей отправной точкой для таких ошибок.
Правильная форма должна быть такой -
(global-set-key (kbd "M-n") (lambda () (interactive) (forward-line 5)))
Проблема заключалась в том, что вы забыли поставить (interactive)
(как упоминал Брендан).
Кстати, вы заметите, что я использовал функцию (kbd)
для указания привязки ключа. Эта функция очень полезна, так как вы можете поместить привязки клавиш почти буквально.