我如何在emacs中将这两个模式关联起来?

时间:2016-04-14 04:40:04

标签: emacs settings mode

我需要从文件中关联。 html 到模式:

  • HTML模式
  • 埃米特模式

我试试这个(但这不起作用):

(define-derived-mode my-html-mode
  text-mode "Emmet+HTML"
  (html-mode 1)
  (emmet-mode 1))

(add-to-list 'auto-mode-alist '("\\.html\\'" . my-html-mode))

2 个答案:

答案 0 :(得分:1)

我将假设emmet模式是次要模式(您不能在单个缓冲区中拥有多个主模式)。

html-mode是一种主要模式,因此它的模式函数不带参数,因此(html-mode 1)无效(并且应该导致错误。你看到错误了吗?"没有工作&#34 ;并没有告诉我们多少。)

在Emacs 24+中,您可以使用主模式的模式挂钩将次要模式与主要模式关联起来,如下所示:

(add-hook 'html-mode 'emmet-mode)

另见https://stackoverflow.com/a/36416231

答案 1 :(得分:0)

由于html-mode是主要模式且emmet-mode是次要模式,您可以从html-mode派生新模式,并在emmet-mode时激活my-html-mode被激活:

(define-derived-mode my-html-mode
  html-mode "Emmet+HTML"
  (emmet-mode 1))

(add-to-list 'auto-mode-alist '("\\.html\\'" . my-html-mode))