Добавить привязку клавиш к js-mode/javascript-mode в Emacs

Добавить привязку клавиш к js-mode/javascript-mode в Emacs

Я добавил 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заключается в том, что эти режимы определены в файлах с тем же именем, что и сам режим.

Связанный контент