4

好的,我的情况与此处有关格式化 HTML 的所有线程都有所不同。此外,我已经安装了几乎所有 HTML 格式插件,结果好坏参半,但没有一个能真正解决我的问题。

此外,配置这些插件可能很困难,因为我不是程序员,而且一些作者没有提供足够的信息来定制他们的插件。

目前,唯一可以格式化我的 HTML 的插件是HTMLTidy,问题是每个标签占用了太多空间。请参阅下面的 HTML 示例。

我还尝试了他们在这个线程中提到的内容,它仅在缩进方面在某种程度上有效,但不适用于“真正的”标记格式。

我想做的就是打开这个标记:

<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 中的内容或手动或任何其他方式来完成此操作吗?

提前致谢。

4

3 回答 3

4

注意:此解决方案仅适用于 ST2,因为目前 (7/31/14) HTMLTidy 不适用于 ST3。

我想出了一个临时解决方案,无论如何都不理想,但是...

  1. 前往:Preferences -> Key Bindings - User。您将编辑文件Default (Windows).sublime-keypmap

  2. 将这两个指令添加到该文件中(注意指令需要[ ]括号内):

     [
       { "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
     ]
    
  3. 保存文件。

  4. 确保您已安装HTMLTidy。打开 HTMLTidy 的设置文件HtmlTidy.sublime-settings : Preferences -> Package Settings -> HtmlTidy -> Settings - Default.

  5. 查找"indent": true,(包括双引号和逗号)并将其更改为false.

  6. 保存文件。

  7. 返回到您的 HTML 文件并在一行中选择要格式化的代码部分。是的,如果您选择整个标记 o_O,它将不起作用。它只会留下<body>标签内的内容,并且会删除其他所有内容(<html>,<head>等)。

  8. CTRL+ ALT+T执行 TidyHTML。这将缩小您的标记并将标签放在一行中。

  9. 最后按CTRL+ SHIFT+R执行缩进。

祝你好运。

于 2012-10-30T19:05:03.950 回答
2

如果你的元素是统一的,一个更简单的解决方案是选择<li>你想要粉碎的所有 s 到一行,alt+f3或者,为了更多的控制,ctrl+d然后只需点击ctrl+j两次将这些行连接在一起。完毕!

如果做不到这一点,ctrl+shift+j在多选每个标签的一部分后,用于选择标签内的所有内容。用向左或向右箭头键将光标打到右边缘或左边缘,您可以从那里删除。

于 2012-12-05T09:49:26.747 回答
0

您可以通过按 F12 键为一行设置快捷键

转到菜单首选项 -> 键绑定 - 用户

{ "keys": ["f12"], "command": "reindent"}

详见 http://how-to-sublime-text.blogspot.com/2014/11/reformat-code.html

于 2014-11-21T16:04:24.883 回答