Sublimetext2 跳过自动完成的方括号、逗号等,并使用升华文本中的制表符

Sublimetext2 跳过自动完成的方括号、逗号等,并使用升华文本中的制表符,sublimetext2,Sublimetext2,在sublime中,如果键入,alert(“{它将自动完成结束括号和引号,以:alert({}”) 在VisualStudio中,如果您点击tab,它会将光标放在自动完成字符的末尾 如何在sublime中复制这种精确行为?如果您必须键入这些字符或使用箭头键,我看不出自动完成有多大意义。编辑您的。sublime keymap文件并添加 // Skip past round and square autocomplete brackets { "keys": ["shift

在sublime中,如果键入,
alert(“{
它将自动完成结束括号和引号,以:
alert({}”)

在VisualStudio中,如果您点击tab,它会将光标放在自动完成字符的末尾


如何在sublime中复制这种精确行为?如果您必须键入这些字符或使用箭头键,我看不出自动完成有多大意义。

编辑您的
。sublime keymap
文件并添加

// Skip past round and square autocomplete brackets
    { 
        "keys": ["shift+enter"], "command": "move", "args": {"by": "characters", "forward": true}, "context":
        [
            { "key": "following_text", "operator": "regex_contains", "operand": "^[)\"\\]\\}\\$]", "match_all": true },
            { "key": "auto_complete_visible", "operator": "equal", "operand": false }
        ]   
    },
在这种情况下,
shift+enter
的功能类似于VisualStudio中的
tab

该解决方案最初不是我的-我在这里或在ST2论坛上找到了它。

基于@AGS和您的评论,有两种可能的选择。第一种(如果您不使用OS X)是点击End,这将把光标移动到行的末尾(
eol

第二个选项是将@AGS的keymap稍微修改为以下内容:

{
“keys”:[“shift+enter”],“command”:“move_to”,“args”:{“to”:“eol”,“extend”:false},“context”:
[
{“key”:“following_text”,“operator”:“regex_contains”,“operator”:“^[)\“\\]\\\\\\\\\\\\\\\\$]”,“match_all”:true},
{“key”:“auto_complete_visible”,“operator”:“equal”,“operator”:false}
]   
}
将下线功能绑定到ShiftEnter,并包括regex支持,如果需要,可以删除该支持


我希望这有帮助

这会一次移动一个字符,有没有办法跳过所有字符?如果在
警报(“{}”)
之后的行中已经有其他文本,这不是一个完美的解决方案,如果您需要为那个用例修改它,请让我知道。这很好,但在99%的情况下,这会很好,所以将它标记为已回答。