Emacs中的XHTML/JSF样板代码

Emacs中的XHTML/JSF样板代码,emacs,xhtml,nxhtml,Emacs,Xhtml,Nxhtml,我正在使用Emacs在JSF项目中编写XHTML页面,每个XHTML文件头上的样板代码量很难输入,而且难看而且容易出错。例如: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:

我正在使用Emacs在JSF项目中编写XHTML页面,每个XHTML文件头上的样板代码量很难输入,而且难看而且容易出错。例如:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:ui="http://java.sun.com/jsf/facelets">

处理这个问题的“emacs方式”是什么?我已经读过,但还没有尝试过,不知道它是像上面那样自动完成样板文件,还是只提供了更基本的XML检查/完成语法。无论如何,我想首先评估更轻量级的替代方案。

搜索“模板emacs”

这里有一个很好的调查:

我使用defaultcontent.el,这是该页面上列出的选项之一。Defaultcontent.el根据文件名上的模式匹配使用模板填充新文件。所有.html文件都可以获得特定的模板。你可以做更高级的模板到文件的映射;defaultcontent.el使用列表,您可以为喜欢的文件名指定任何正则表达式

放入新文件的模板可以动态扩展各种内容,包括文件名、basefilename、日期/时间、环境变量。在更高级的方案中,模板可以运行您提供的elisp代码

它是yasnippet的一个很好的伙伴,我使用它来处理文件中的可选代码段。例如,my base.htm模板(由defaultcontent.el插入)不包含jquery的脚本引用。但是我有一个用于jquery的yasnippet,所以当我键入(jquery[TAB])时,我得到了

<script type='text/javascript'
        src='https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.js'>
</script>

defaultcontent.el仅在最初创建文件时使用查找文件挂钩并插入模板内容

我几乎所有的文件格式都使用它