我有一个 HTML 文件,我在花括号(web2py 模板)中使用 python 代码,比如
{{for i in range something:}}
{{=i.name}}
{{pass}}
在带有 .html 扩展名的文件的正文中。
我的问题是,如何更改{{}}
分隔符内代码的颜色?分隔符与彩虹分隔符有不同的颜色,我也有自动配对,但我真正想要的是 .html 文件中分隔符内的 python 代码的自定义颜色。
这是一个常见的要求。不幸的是,在 Emacs 中做到这一点并不容易。在这里寻找一些选项Emacs Wiki 上的多种模式。顺便说一句,如果您从未看过它,那么 Emacs Wiki 有很多有用的信息。
web-mode.el现在与 web2py 兼容
几个月后,我不得不感谢@sean perry 的提示,最后我找到了我需要的东西,我不是 emacs 专家,但这是我的解决方案:
首次下载多网络模式
然后按照设置步骤将其添加到我的 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 代码已正确突出显示。