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*
,例如多次按制表符以缩进括号。
我正在尝试让 "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*
,例如多次按制表符以缩进括号。