Если вы можете выполнить команду в интерактивном режиме, вы можете запросить Emacs, как называется выполняемая вами функция. Попробуйте M-x repat-complex-command
и нажмите стрелку вверх один раз (или несколько раз, если вы в это время выполнили другие команды) или обратитесь за помощью по привязке клавиш:
C-h k C-x RET f
=> set-buffer-file-coding-system
К сожалению, вы не можете привязать это непосредственно к нажатию клавиши:
;;;; BROKEN
(global-set-key (kbd "<f11>") '(set-buffer-file-coding-system 'dos-undecided))
... потому что когда вы пытаетесь запустить это, вы сталкиваетесь с
Wrong type argument: commandp, (set-buffer-file-coding-system (quote dos-undecided))
Вы можете обойти это, указав interactive
форму вокруг него:
(global-set-key (kbd "<f11>")
(lambda ()
(interactive "*")
(set-buffer-file-coding-system 'undecided-dos)))
Аргумент "*"
для interactive
говорит, что он разрешен только в буферах, для которых у вас есть разрешение на изменение.