Skip to content

Instantly share code, notes, and snippets.

@koulmomo
Created January 13, 2014 08:41
Show Gist options
  • Save koulmomo/8396647 to your computer and use it in GitHub Desktop.
Save koulmomo/8396647 to your computer and use it in GitHub Desktop.
Perfect Sublime Text 2 Key Bindings. Tab to skip out of brackets, braces, parentheses, and quotes/quotations but still be able to indent
[
// Move out of common paired characters () and [] with `Tab`
{
"keys": ["tab"],
"command": "move",
"args": {"by": "characters", "forward": true},
"context": [
// Check if next char matches (followed by anything)
{ "key": "following_text", "operator": "regex_match", "operand": "(:?`|\\)|\\]|\\}).*", "match_all": true },
// ...and that there is a paid character before it on the same
// line. This lets you `tab` to Indent at lines with single ]s
// still, like in a JSOn file
{ "key": "preceding_text", "operator": "regex_contains", "operand": "(:?`|\\(|\\[|\\{)", "match_all": true }
]
},
// Move out of single and double quotes with `Tab`
{
"keys": ["tab"],
"command": "move",
"args": {"by": "characters", "forward": true},
"context": [
{ "key": "following_text", "operator": "regex_match", "operand": "(?:\"|').*", "match_all": true },
{ "key": "preceding_text", "operator": "regex_contains", "operand": "(?:\"|')", "match_all": true }
]
}
]
@srxrt
Copy link

srxrt commented Jul 2, 2020

can you make one for Brackets as well?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment