使用sublime-text中的选项卡跳过自动完成括号,逗号等

时间:2013-11-13 12:17:44

标签: sublimetext2

在崇高的情况下,如果您输入alert("{<cursor>,它会自动填写右括号和引号:alert("{<cursor>}")

在visual studio中,如果你点击标签,它会将光标放在自动填充字符的末尾。

如何在sublime中复制这种确切的行为?如果您不得不输入这些字符或使用箭头键,我认为自动完成没有多大意义。

2 个答案:

答案 0 :(得分:3)

在@ AGS的answer和您的评论的基础上,有两种可能的选择。第一个(如果你没有使用OS X)就是点击 End ,它会将光标移动到行尾(eol)。

第二个选项是稍微修改@ AGS的键盘映射到以下内容:

{ 
    "keys": ["shift+enter"], "command": "move_to", "args": {"to": "eol", "extend": false}, "context":
    [
        { "key": "following_text", "operator": "regex_contains", "operand": "^[)\"\\]\\}\\$]", "match_all": true },
        { "key": "auto_complete_visible", "operator": "equal", "operand": false }
    ]   
}

eol功能绑定到 Shift Enter ,并包含正则表达式支持,如果需要,可以将其删除。

我希望这有帮助!

答案 1 :(得分:2)

修改您的.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的功能类似于Visual Studio中的tab

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