Sublime Text 2 换行缩进

Posted

技术标签:

【中文标题】Sublime Text 2 换行缩进【英文标题】:Sublime Text 2 line break indentation 【发布时间】: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”创建标签后,我希望结果如上所示。我必须安装插件还是我错过了什么?

【问题讨论】:

【参考方案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

参考资料:

*** - Formatting HTML Code using Sublime Text 2 GitHub - Tag Menu file

【讨论】:

谢谢你,米格尔,我会去看看的。

以上是关于Sublime Text 2 换行缩进的主要内容,如果未能解决你的问题,请参考以下文章

Sublime text 2中的缩进代码?

如何修复/转换 Sublime Text 中的空格缩进?

Sublime text3修改tab键缩进

Sublime text3 修改TAB键为缩进为四个空格

Sublime text3修改tab键为缩进为四个空格

强制 Sublime Text Editor 使用 4 个空格进行缩进