Я добавил web-beautify-* в Emacs 24, чтобы иметь возможность запускать Mx web-beautify-js для удобного форматирования исходного кода JavaScript.
Я добавил несколько сочетаний клавиш для html-mode и css-mode, которые работают нормально.
(eval-after-load 'sgml-mode
'(define-key html-mode-map (kbd "C-c b") 'web-beautify-html))
(eval-after-load 'css-mode
'(define-key css-mode-map (kbd "C-c b") 'web-beautify-css))
Однако следующий фрагмент для js-mode и javascript-mode не работает.
(eval-after-load 'javascript-mode
'(define-key js-mode-map (kbd "C-c b") 'web-beautify-js))
(eval-after-load 'js-mode
'(define-key js-mode-map (kbd "C-c b") 'web-beautify-js))
Как добавить пользовательские сочетания клавиш в js-mode и javascript-mode?
решение1
js-mode
и его псевдоним javascript-mode
определены в js.el
, поэтому вместо этого следует использовать (eval-after-load 'js ...)
. Причина, по которой это работает для sgml-mode
и , css-mode
заключается в том, что эти режимы определены в файлах с тем же именем, что и сам режим.