在emacs中编辑HTML时,有没有一种方法可以自动对标记的blob进行漂亮的格式设置,更改如下所示:
<table>
<tr>
<td>blah</td></tr></table>
...变成这样:
<table>
<tr>
<td>
blah
</td>
</tr>
</table>
最佳答案
默认情况下,当您在Emacs(22或23)中访问.html
文件时,它将把您置于html-mode
中。那可能不是您想要的。您可能想要nxml-mode
,这是很特别的。 nxml-mode
似乎仅随Emacs 23一起提供,尽管您可以从nXML web site下载它以用于早期版本的emacs。还有一个名为nxml-mode
的Debian和Ubuntu软件包。您可以使用以下方式输入nxml-mode
:
M-x nxml-mode
您可以使用以下方法查看nxml模式文档:
C-h i g (nxml-mode) RET
话虽如此,您可能必须使用Tidy之类的格式来重新格式化xhtml示例。
nxml-mode
将帮助您<!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">
<head></head>
<body>
<table>
<tr>
<td>blah</td></tr></table>
</body>
至
<!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">
<head></head>
<body>
<table>
<tr>
<td>blah</td></tr></table>
</body>
</html>
但是我没有看到更通用的工具来根据需要对某些xml标签进行换行。请注意,
C-j
将插入带有适当缩进的新行,因此您可以执行快速宏操作或修改将用于表的defun
。关于html - emacs可以为我重新缩进HTML一大块吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/137043/