如何在Emacs中的分隔符内设置语法颜色?

时间:2012-09-23 14:47:59

标签: python html emacs web2py

我有一个HTML文件,我在花括号(web2py模板)中使用python代码,类似

{{for i in range something:}}
{{=i.name}}
{{pass}}

扩展名为.html的文件正文内部。

我的问题是,如何更改{{}}分隔符中代码的颜色?分隔符有不同的颜色和彩虹分隔符,我也有自动配对,但我真正想要的是.html文件中分隔符内的python代码的自定义颜色。

3 个答案:

答案 0 :(得分:2)

这是一个常见的请求。不幸的是,在Emacs中做起来并不容易。在这里查看一些选项Multiple modes on Emacs Wiki。顺便说一句,如果你从来没有环顾四周,Emacs Wiki有很多有用的信息。

答案 1 :(得分:1)

web-mode.el现在与web2py兼容

答案 2 :(得分:0)

几个月后,我不得不感谢@sean perry的提示,最后我发现了我需要的东西,我不是emacs专家,但这是我的解决方案:

首先下载multi-web-mode

然后在设置步骤中将此添加到我的init.el:

(require 'multi-web-mode)
(setq mweb-default-major-mode 'html-mode)
(setq mweb-tags '((php-mode "<\\?php\\|<\\? \\|<\\?=" "\\?>")
              (js-mode "<script +\\(type=\"text/javascript\"\\|language=\"javascript\"\\)[^>]*>" "</script>")
              (css-mode "<style +type=\"text/css\"[^>]*>" "</style>")))
(setq mweb-filename-extensions '("php" "htm" "html" "ctp" "phtml" "php4" "php5"))
(multi-web-global-mode 1)

最后在css-mode之后添加了这一行:

(python-mode "{{" "}}")

现在正确突出显示了web2py模板中{{}}之间的python代码。