Auto-indent new line when hitting enter to expand

2019-02-11 06:32发布

问题:

I would like to have this work flow working with HTML in Sublime Text 2:

  1. Create HTML tag (e.g. ctrl + shift + W)
  2. TAB (putting the cursor in the content area)
  3. ENTER

Resulting with this (the word "HERE" indicates where the cursor should be):

<p>
    HERE
</p>

But instead this is what I get (the word "HERE" still indicating the cursor's position):

<p>
HERE</p>

Which demands you to

  1. ENTER (again)
  2. ARROW-UP + TAB
  3. ARROW-UP + TAB (a second time)

回答1:

Try adding the following in your user key bindings.

{ "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 }
    ]
}