好的,我的情况与此处关于格式化HTML的所有主题有点不同。此外,我已经安装了大约每个HTML格式化插件,结果不一致,没有一个能真正解决我的问题。
另外,配置这些插件可能很困难,因为我不是程序员,有些作者没有提供足够的信息来定制他们的插件。
目前唯一可以格式化我的HTML的插件是 HTMLTidy ,问题是每个标签使用的空间太多。请参阅下面的HTML示例。
我也尝试了他们在 this thread 中提到的内容,它只在某种程度上适用于缩进,但不是真的用于'true'标记格式化。
我想做的就是转动这个标记:
<ul>
<li>
item here
</li>
<li>
item here
</li>
<li>
item here
</li>
</ul>
或者这个:
<p>
Content...
</p>
进入这个:
<ul>
<li>item here</li>
<li>item here</li>
<li>item here</li>
</ul>
而且:
<p>Content...</p>
将每个标签的内容与开/关标签分开,这对我来说是浪费空间。
任何想法如何通过修改TidyHTML中的内容或手动修改或其他任何方式来实现此目的?
提前致谢。
答案 0 :(得分:4)
我想出了一个临时解决方案,无论如何都不理想,但是......
转到:Preferences -> Key Bindings - User
。您将编辑文件 默认(Windows).sublime-keypmap 。
将这两条说明添加到该文件中(请注意,说明必须 [] 括号内):
[
{ "keys": ["ctrl+shift+r"], "command": "reindent" , "args": {"single_line": false}},
//Indent code -- http://stackoverflow.com/questions/8839753/formatting-html-code-using-sublime-text-2
{ "keys": ["ctrl+alt+t"], "command": "html_tidy"}
//HTMLTidy key binding
]
保存文件。
确保您已安装 HTMLTidy 。打开HTMLTidy的设置文件 HtmlTidy.sublime-settings :Preferences -> Package Settings -> HtmlTidy -> Settings - Default
。
查找"indent": true,
(包含双引号和逗号)并将其更改为false
。
保存文件。
返回HTML文件,然后在一行中选择要格式化的代码的部分。是的,如果您选择整个标记o_O,它将不起作用。它只会保留<body>
标记内的内容,并会删除其他内容(<html>
,<head>
等)。
按 CTRL + ALT + T 执行TidyHTML。这将缩小您的标记并将标记放在一行中。
最后按 CTRL + SHIFT + R 执行缩进。
答案 1 :(得分:2)
如果你的元素是统一的,那么更简单的解决方案就是选择你想用 alt + f3 粉碎到一行的所有<li>
,或者为了更好的控制,< kbd> ctrl + d ,然后按两次 ctrl + j 将这些行连接在一起。完成!
如果失败,请在多次选择每个标签的一部分后,使用 ctrl + shift + j 选择标签内的所有内容。使用向左或向右箭头键将光标击中右边或左边,然后可以从那里删除。
答案 2 :(得分:0)
按F12键可以设置一行快捷键
转到菜单首选项 - &gt;键绑定 - 用户
{ "keys": ["f12"], "command": "reindent"}
详见http://how-to-sublime-text.blogspot.com/2014/11/reformat-code.html