我将自动完成设置为在Tab. 因此,如果我输入:div.control-group
并点击选项卡,它会准确地变成<div class="control-group"></div>
并将光标放在里面。
但是,当我键入label
并点击Tabnext ( <div class="control-group">label</div>
) 时,光标不会自动完成<label>
标记,而是放在</div>
. 我需要再次回到标签内部并重复Tab点击以使其正确自动完成。
我该如何解决?
我将自动完成设置为在Tab. 因此,如果我输入:div.control-group
并点击选项卡,它会准确地变成<div class="control-group"></div>
并将光标放在里面。
但是,当我键入label
并点击Tabnext ( <div class="control-group">label</div>
) 时,光标不会自动完成<label>
标记,而是放在</div>
. 我需要再次回到标签内部并重复Tab点击以使其正确自动完成。
我该如何解决?
查看Default.sublime-keymap
文件,我发现了以下几行:
{ "keys": ["tab"], "command": "next_field", "context": [ { "key": "has_next_field", "operator": "equal", "operand": true } ] }
我不想搞砸这一点,因为在使用自动生成的foreach
循环等时,跳转到下一个字段是一个有用的功能。
相反,我发现了这个:
{ "keys": ["alt+/"], "command": "auto_complete" }
所以现在,当我在生成的标签内时,我使用Alt+/组合键来自动完成。稍微有点不方便,但Tab在大多数情况下,我可以保持 ' 的行为完整且有用。
我猜你正在使用 Emmet(或其他插件)来构建“div”片段。看看您是否可以配置如何生成代码段也可能是值得的。也就是说,您可能能够生成它而不指定其他光标位置。这样,至少对于插件扩展,您不会遇到选项卡的问题。
您可能还想尝试auto_complete_with_fields
在用户设置中设置为 true。