emacs 有没有什么*好的* HTML 模式?

emacs 有没有什么*好的* HTML 模式?

我喜欢 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 在其他方面都很棒——为什么它不能完成编辑网页的简单任务?我的意思是,这对于当今的编辑器来说是一件非常标准的事情。

那么,有人知道该怎么做吗?

答案1

你退房了吗Emacs 维基 html页?nxhtml尤其看起来很有用。

答案2

我和你有同样的问题,所以我决定写网络模式

在此处输入图片描述

Web-mode.el 是 Emacs 的主要模式,用于编辑混合 Web 模板(带有 Java/JSP、PHP、CSS、JavaScript 的 HTML)。

它不依赖任何其他模式。它根据代码块类型进行语法突出显示和缩进。我写了一个小的 HOWTO 页面

关于

  • web-mode.el是编辑网页模板(带有 PHP 的 HTML、Java/JSP、JavaScript、CSS 样式)的主要模式。
  • 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

答案3

我对现有的模式并不满意,但最近我发现使用普通的html-mode增强模式会让我感到快乐yasnippettidy.el. 正如其他答案所提到的,如果您正在编写 xhtml,nxhtml 模式很有用。

如果你想要突出显示 php 和 javascript,你可能需要查看mmm-mode,这将允许您同时运行多个主要模式。我从未使用过它,所以我不知道它如何处理冲突的键绑定等......所以你必须在那里摸索。

答案4

我也使用 nXhtml 模式进行混合模式编辑,但无法让多模式正常工作。这是一个有点坎坷的过程,但最近的版本被证明是有用的。我正在使用 Emacs 23 FWIW。

相关内容