【问题标题】:Sublime Text 2 line break indentationSublime Text 2 换行缩进
【发布时间】:2013-03-23 06:04:27
【问题描述】:
<div>
This line needs to be indented and closing div tag should be in a new line</div>

<div>
  This result is what I want
</div>

在 Sublime Text 2 中,通过按 ctrl+shift+W 并按“enter”创建标签后,我希望结果如上所示。我必须安装插件还是我错过了什么?

【问题讨论】:

    标签: html editor sublimetext2 text-editor


    【解决方案1】:

    认为您正在尝试与此问题相同 - Auto-indent new line when hitting enter to expand one-line tag in HTML

    下面是我的回答。


    尝试在您的用户键绑定中添加以下内容。

    { "keys": ["enter"], "command": "insert_snippet", "args": {"contents": "\n\t$0\n"}, "context":
        [
            { "key": "setting.auto_indent", "operator": "equal", "operand": true },
            { "key": "selector", "operator": "equal", "operand": "meta.scope.between-tag-pair", "match_all": true },
            { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }
        ]
    }
    

    【讨论】:

    • 非常感谢,这正是我想要做的。
    • 太棒了!只有一件事 - 右大括号 ] 之前的 ,(逗号)会引发错误。
    【解决方案2】:

    试试这个键绑定:

    { "keys": ["ctrl+shift+w"], "command": "reindent" , "args": {"single_line": false}}
    

    参考:Formatting HTML Code using Sublime Text 2

    【讨论】:

    • 您好,感谢您的回复。这个键绑定实际上是禁用 ctrl+shift+w 行为。问题是在我通过按 ctrl+shift+w 并按 Enter 创建标签后,新行应该缩进。如果问题不清楚,我很抱歉。
    • 没问题,反正你已经得到了我想的答案。
    【解决方案3】:

    如果您安装Tag plugin,我认为这是一个更通用的解决方案。如Dardub on his answer 所述,标签插件也可通过package control 获得。

    如果您选择 Tag 插件,最简单的使用方法是突出显示要缩进的文本,然后按快捷键 Ctrl+Shift+F.

    如果您坚持使用 Enter 工作流程,只需将此行添加到您的键绑定中:

    { "keys": ["enter"], "command": "tag_indent_document" }
    

    小心,因为它取代了 Enter 默认行为

    避免文本突出显示需要的更保守的方法是使用更具体的绑定:

    { "keys": ["super+shift+f"], "command": "tag_indent_document" }
    

    现在要缩进所有 HTML/XML,只需按下快捷键 Super+Shift+F

    参考资料:

    【讨论】:

    • 谢谢你,米格尔,我会去看看的。
    猜你喜欢
    • 1970-01-01
    • 2012-03-07
    • 2012-03-18
    • 2012-06-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-03
    • 1970-01-01
    相关资源
    最近更新 更多