emacs是否有任何“好” HTML模式?


23

我爱emacs,

并且我想在其中进行网络编程,
但是我找不到找到一种方法来正确编辑HTML。

我的意思是非常糟糕。

它将很好地处理HTML,但不能处理PHP,javascript等。

我尝试获取html-helper-mode ...我下载了它,将其放在/ usr / local / share / emacs / site-lisp中,并将其添加到我的.emacs文件中:

(autoload 'html-helper-mode "html-helper-mode" "Yay HTML" t)
  (setq auto-mode-alist (cons '("\\.html$" . html-helper-mode) auto-mode-alist))

从某个站点复制并粘贴(我不知道elisp)。
它只是,根本不突出任何内容。

我尝试下载一大堆模式,并使用其他模式将它们串在一起,但无济于事。

Emacs在其他方面都非常出色-为什么它不能完成编辑网页的简单任务?我的意思是,如今对于编辑人员来说,这是很标准的事情。

那么,有谁知道该怎么做?

Answers:


4

您是否签出了Emacs Wiki html页面?nxhtml特别有用。


4
它看起来很有用,但使用起来非常痛苦……加载缓慢,缩进不正确,丑陋,运行缓慢,突出显示所有红色,然后全部变为斜体且公正,令人痛苦……
Carson Myers

1
我已经成功使用了nxhtml。字体颜色和斜体都可以通过自定义面孔来控制
Doug Harris,

35

我和您有同样的问题,所以我决定编写web-mode

在此处输入图片说明

Web-mode.el是Emacs的主要模式,旨在编辑混合Web场所(带有Java / JSP的HTML,PHP,CSS,JavaScript)。

它不依赖任何其他模式。它根据代码块类型进行语法高亮和缩进。我在上面写了一些HOWTO页面

关于

  • web-mode.el 是用于编辑Web模板(带有PHP,Java / JSP,JavaScript,CSS样式的HTML)的主要模式。
  • web-mode.el永远不会是功能齐全的PHP或JS模式。(我们不鼓励在模板中使用多行代码!)。

本机功能

  • 智能缩进(根据上下文:HTML,PHP,Java / JSP,JavaScript或CSS)
  • 代码导航: C-c C-n在打开和关闭HTML标记之间或在PHP控件之间>-if ... else ... endif,for ... endfor
  • HTML标签自动关闭(之后
  • 语法高亮显示(根据块的类型)
  • 摘要插入 C-c C-i(自动缩进,了解文本选择)
  • 自动插入(例如?>之后<?php

可以说,这可以节省我的时间...谢谢@fxbois!我喜欢它。最后,我可以得到html,css,java等之间的混合缩进。可以用Python完成吗?
swdev

@swdev是否可以在github上打开一个有关python兼容性请求的问题。可以发送da链接到模板语法文档以及此类模板的示例。
fxbois

看起来很整洁,但似乎使用regexp来解析HTML,而不是使用像psgml这样的真正解析器...
David N. Welton

3
真正的解析器是什么意思?我遍历文档以查找以<开头和以>等结尾的标记等。您发现任何限制吗?如果有发现,请随时在github repo上报告问题
fxbois 2013年

3

我一直对可用的模式不满意,但是最近发现我使用和html-mode增强的普通旧模式感到高兴。正如其他答案所述,如果您正在编写xhtml,则nxhtml模式很有用。yasnippettidy.el

如果您想要突出显示php和javascript,则可能需要查看mmm-mode,它可以让您一次运行多种主要模式。我从未使用过它,所以我不知道它是谁来处理冲突的键绑定等的,所以您将不得不在那儿摸索。



0

我也使用nXhtml模式进行混合模式编辑,但无法使多个模式正常工作。这有些艰难,但事实证明,最近的构建很有用。我正在使用Emacs 23 FWIW。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.