Sublime Key Binding "TAB" 退出括号,引号等,除非它是行中的第一个字符

Sublime Key Binding "TAB" to exit parenthesis, quotes etc, EXCEPT when it is the first character on the line

我正在尝试让 "TAB" 退出括号、引号等,但前提是它不是行中的唯一字符。如果 |代表光标:

从这里退出:

function(e|) {}

但这里没有:

function() {
  return;
|}

为此,我试图设置上下文来检查该条件,但没有成功。这是我目前所拥有的:

{ "keys": ["tab"], "command": "move", "args": {"by": "characters", "forward": true}, "context":
[
    { "key": "following_text", "operator": "regex_contains", "operand": "^[)'}\"\]]", "match_all": true },
    { "key": "preceding_text", "operator": "not_regex_match", "operand": "\n", "match_all":true },
    { "key": "auto_complete_visible", "operator": "equal", "operand": false }
]
}

上下文的第二行是我没弄对的地方。任何帮助将不胜感激!

最佳,

迈克尔

因为你想匹配到行开始你应该使用^。正则表达式匹配仅针对每一行,因此您可以在行首使用 ^,在行尾使用 $。 如果您还想为带有缩进的行禁用它,请将其更改为 ^\s*,例如多次按制表符以缩进括号。