-
-
Save beechnut/69a3ab6fd66f03e8e5ea to your computer and use it in GitHub Desktop.
// Copy the following into Preferences > Key Bindings -- User | |
// Thanks to: | |
// http://sublimetext.userecho.com/topic/86166-backtick-quoting-selected-text-does-not-work-like-single-quotes-and-double-quotes/ | |
[ | |
// Auto-pair backticks | |
{ "keys": ["`"], "command": "insert_snippet", "args": {"contents": "`$0`"}, "context": | |
[ | |
{ "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, | |
{ "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, | |
{ "key": "following_text", "operator": "regex_contains", "operand": "^(?:\t| |\\)|]|\\}|>|$)", "match_all": true }, | |
{ "key": "preceding_text", "operator": "not_regex_contains", "operand": "[`a-zA-Z0-9_]$", "match_all": true }, | |
{ "key": "eol_selector", "operator": "not_equal", "operand": "string.quoted.single", "match_all": true } | |
] | |
}, | |
{ "keys": ["`"], "command": "insert_snippet", "args": {"contents": "`${0:$SELECTION}`"}, "context": | |
[ | |
{ "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, | |
{ "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true } | |
] | |
}, | |
{ "keys": ["`"], "command": "move", "args": {"by": "characters", "forward": true}, "context": | |
[ | |
{ "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, | |
{ "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, | |
{ "key": "following_text", "operator": "regex_contains", "operand": "^`", "match_all": true } | |
] | |
}, | |
{ "keys": ["backspace"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Delete Left Right.sublime-macro"}, "context": | |
[ | |
{ "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, | |
{ "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, | |
{ "key": "preceding_text", "operator": "regex_contains", "operand": "`$", "match_all": true }, | |
{ "key": "following_text", "operator": "regex_contains", "operand": "^`", "match_all": true } | |
] | |
}, | |
] |
Thanks. Worked for me for other shortkeys than ` (backtick), since the initial backtick key is waiting for another character, i.e. e
to print è
nice works great here!
Thanks, that's really convenient!
https://gist.github.com/yuanqing/87bceacedde4dbd96fab has multi-cursor support.
This is wonderful, thank you
@sagold If you have the backticks issue because of an international keyboard you can do this (on mac) : https://www.foobarflies.io/backticks-on-the-mac-keyboard/
Thanks! Working great here for multi-selection and multi-cursor.
Thank you - working for multi-selection and multi-cursor for me as well!
Thanks for sharing this!
works!!!! Thx!!!!!
@sagold If you have the backticks issue because of an international keyboard you can do this (on mac) : https://www.foobarflies.io/backticks-on-the-mac-keyboard/
very thanks 💯
still needs support for multiple selections. other than that, fantastic!