作为Web开发人员,我们经常会这么做:在编辑器中调整代码,保存文件,切换到浏览器,然后刷新浏览器页面来查看结果。在代码编辑过程中,我们需要重复进行很多次这些操作。
如果你使用的是Sublime Text编辑器的话,你可以跳过其中一些步骤直接在浏览器中查看结果。这篇文章就为大家展示如何通过一个叫做BrowserRefresh-sublime的Sublime Text插件来实现上述功能。
Browser Refresh for Sublime Text
首先,我们需要在Sublime Text中安装它,最简单的办法就是通过Package Control (安装Package Control方法见此)。
安装插件
假设你已经安装了Package Control,你可以按Ctrl+Shift+P来打开命令面板,然后输入Install Package。
这将加载所有可用的Sublime Text插件,然后搜索Browser Refresh,之后直接点击Enter来安装。
配置插件
当插件安装完成之后,进入Preferences > Package Settings > Browser Refresh > Key Bindings – Users,这将会在新标签中打开一个.sublime-keymap
文件。
默认情况下,这个文件是空的。我们需要把下面的代码粘贴进去来绑定快捷键(下面代码需要两个 [ ] 之间):
- {
- "keys": ["ctrl+shift+r"], "command": "browser_refresh", "args": {
- "auto_save": true,
- "delay": 0.5,
- "activate_browser": true,
- "browser_name" : "all"
- }
- }
上面的代码我们为Browser Refresh绑定了快捷键Ctrl+Shift+R,如果你想更改为其他的,可以修改"keys": ["command+shift+r"]
。之后,如果我们修改了代码,可以直接通过该快捷键来刷新浏览器查看结果。
此外,我们还可以更改以下设置:
Arguments
Description
auto_save
:
它指定了在浏览器查中看之前是否保存文件,你可以把它设置为false
来禁用此行为
delay
它指定页面刷新的延迟时间。以秒为单位,所以1.0就是1秒钟
activate_browser
指定是否激活浏览器窗口。如果浏览器没有打开,按下快捷键后将会打开浏览器,如果已经在运行,将会直接跳转到浏览器。我建议总是把它设置为true
browser_name
指定使用哪个浏览器来刷新文档。默认情况下是所有浏览器。你也可以更改为Google Chrome
,Safari
,Firefox
,Opera
,IE
,Iron
,andGoogle Chrome Canary
几点需要注意的事项
- 首先需要在浏览器中打开文档。否则文档不会被打开,也就不会被刷新了。
- 它只能刷新当前激活的标签页。所以,把需要确定刷新的文档在当前标签页。
- 在Firefox 19写存在一些Bug无法刷新。
总结
现在,我们可以通过一个快捷键来实现三步操作:保存文档,切换到浏览器,刷新页面。希望此文能够简化一些你的工作流程。
更多内容,请访问Github项目:BrowserRefresh-Sublime
上面的知识转载自:http://9iphp.com/web/html/sublime-text-refresh-browser.html
我的做法是:
1.清空 首选项—>Package Settings—>Browser Refresh—>Key Bindings-Default
2.清空 首选项—>Package Settings—>Browser Refresh—>Key Bindings-Default
3.覆盖 Default(Windows).sublime-keymap 文件
由于Default .. XXX 是不能够编辑的,所以需要安装 PackageResourceViewer,之后再做编辑。
[ { "keys": ["ctrl+shift+n"], "command": "new_window" }, { "keys": ["ctrl+shift+w"], "command": "close_window" }, { "keys": ["ctrl+o"], "command": "prompt_open_file" }, { "keys": ["ctrl+shift+t"], "command": "reopen_last_file" }, { "keys": ["alt+o"], "command": "switch_file", "args": {"extensions": ["cpp", "cxx", "cc", "c", "hpp", "hxx", "h", "ipp", "inl", "m", "mm"]} }, { "keys": ["ctrl+n"], "command": "new_file" }, //{ "keys": ["ctrl+s"], "command": "save" }, {"keys":["ctrl+s"],"command":"browser_refresh","args":{"auto_save":true,"delay":0.0,"activate":true,"browsers":["chrome"]}}, { "keys": ["ctrl+shift+s"], "command": "prompt_save_as" }, { "keys": ["ctrl+f4"], "command": "close_file" }, { "keys": ["ctrl+w"], "command": "close" }, { "keys": ["ctrl+k", "ctrl+b"], "command": "toggle_side_bar" }, { "keys": ["f11"], "command": "toggle_full_screen" }, { "keys": ["shift+f11"], "command": "toggle_distraction_free" }, { "keys": ["backspace"], "command": "left_delete" }, { "keys": ["shift+backspace"], "command": "left_delete" }, { "keys": ["ctrl+shift+backspace"], "command": "left_delete" }, { "keys": ["delete"], "command": "right_delete" }, { "keys": ["enter"], "command": "insert", "args": {"characters": " "} }, { "keys": ["shift+enter"], "command": "insert", "args": {"characters": " "} }, { "keys": ["ctrl+z"], "command": "undo" }, { "keys": ["ctrl+shift+z"], "command": "redo" }, { "keys": ["ctrl+y"], "command": "redo_or_repeat" }, { "keys": ["ctrl+u"], "command": "soft_undo" }, { "keys": ["ctrl+shift+u"], "command": "soft_redo" }, { "keys": ["ctrl+shift+v"], "command": "paste_and_indent" }, { "keys": ["shift+delete"], "command": "cut" }, { "keys": ["ctrl+insert"], "command": "copy" }, { "keys": ["shift+insert"], "command": "paste" }, { "keys": ["ctrl+x"], "command": "cut" }, { "keys": ["ctrl+c"], "command": "copy" }, { "keys": ["ctrl+v"], "command": "paste" }, { "keys": ["left"], "command": "move", "args": {"by": "characters", "forward": false} }, { "keys": ["right"], "command": "move", "args": {"by": "characters", "forward": true} }, { "keys": ["up"], "command": "move", "args": {"by": "lines", "forward": false} }, { "keys": ["down"], "command": "move", "args": {"by": "lines", "forward": true} }, { "keys": ["shift+left"], "command": "move", "args": {"by": "characters", "forward": false, "extend": true} }, { "keys": ["shift+right"], "command": "move", "args": {"by": "characters", "forward": true, "extend": true} }, { "keys": ["shift+up"], "command": "move", "args": {"by": "lines", "forward": false, "extend": true} }, { "keys": ["shift+down"], "command": "move", "args": {"by": "lines", "forward": true, "extend": true} }, { "keys": ["ctrl+left"], "command": "move", "args": {"by": "words", "forward": false} }, { "keys": ["ctrl+right"], "command": "move", "args": {"by": "word_ends", "forward": true} }, { "keys": ["ctrl+shift+left"], "command": "move", "args": {"by": "words", "forward": false, "extend": true} }, { "keys": ["ctrl+shift+right"], "command": "move", "args": {"by": "word_ends", "forward": true, "extend": true} }, { "keys": ["alt+left"], "command": "move", "args": {"by": "subwords", "forward": false} }, { "keys": ["alt+right"], "command": "move", "args": {"by": "subword_ends", "forward": true} }, { "keys": ["alt+shift+left"], "command": "move", "args": {"by": "subwords", "forward": false, "extend": true} }, { "keys": ["alt+shift+right"], "command": "move", "args": {"by": "subword_ends", "forward": true, "extend": true} }, { "keys": ["ctrl+alt+up"], "command": "select_lines", "args": {"forward": false} }, { "keys": ["ctrl+alt+down"], "command": "select_lines", "args": {"forward": true} }, { "keys": ["pageup"], "command": "move", "args": {"by": "pages", "forward": false} }, { "keys": ["pagedown"], "command": "move", "args": {"by": "pages", "forward": true} }, { "keys": ["shift+pageup"], "command": "move", "args": {"by": "pages", "forward": false, "extend": true} }, { "keys": ["shift+pagedown"], "command": "move", "args": {"by": "pages", "forward": true, "extend": true} }, { "keys": ["home"], "command": "move_to", "args": {"to": "bol", "extend": false} }, { "keys": ["end"], "command": "move_to", "args": {"to": "eol", "extend": false} }, { "keys": ["shift+home"], "command": "move_to", "args": {"to": "bol", "extend": true} }, { "keys": ["shift+end"], "command": "move_to", "args": {"to": "eol", "extend": true} }, { "keys": ["ctrl+home"], "command": "move_to", "args": {"to": "bof", "extend": false} }, { "keys": ["ctrl+end"], "command": "move_to", "args": {"to": "eof", "extend": false} }, { "keys": ["ctrl+shift+home"], "command": "move_to", "args": {"to": "bof", "extend": true} }, { "keys": ["ctrl+shift+end"], "command": "move_to", "args": {"to": "eof", "extend": true} }, { "keys": ["ctrl+up"], "command": "scroll_lines", "args": {"amount": 1.0 } }, { "keys": ["ctrl+down"], "command": "scroll_lines", "args": {"amount": -1.0 } }, { "keys": ["ctrl+pagedown"], "command": "next_view" }, { "keys": ["ctrl+pageup"], "command": "prev_view" }, { "keys": ["ctrl+tab"], "command": "next_view_in_stack" }, { "keys": ["ctrl+shift+tab"], "command": "prev_view_in_stack" }, { "keys": ["ctrl+a"], "command": "select_all" }, { "keys": ["ctrl+shift+l"], "command": "split_selection_into_lines" }, { "keys": ["escape"], "command": "single_selection", "context": [ { "key": "num_selections", "operator": "not_equal", "operand": 1 } ] }, { "keys": ["escape"], "command": "clear_fields", "context": [ { "key": "has_next_field", "operator": "equal", "operand": true } ] }, { "keys": ["escape"], "command": "clear_fields", "context": [ { "key": "has_prev_field", "operator": "equal", "operand": true } ] }, { "keys": ["escape"], "command": "hide_panel", "args": {"cancel": true}, "context": [ { "key": "panel_visible", "operator": "equal", "operand": true } ] }, { "keys": ["escape"], "command": "hide_overlay", "context": [ { "key": "overlay_visible", "operator": "equal", "operand": true } ] }, { "keys": ["escape"], "command": "hide_auto_complete", "context": [ { "key": "auto_complete_visible", "operator": "equal", "operand": true } ] }, { "keys": ["tab"], "command": "insert_best_completion", "args": {"default": " ", "exact": true} }, { "keys": ["tab"], "command": "insert_best_completion", "args": {"default": " ", "exact": false}, "context": [ { "key": "setting.tab_completion", "operator": "equal", "operand": true } ] }, { "keys": ["tab"], "command": "replace_completion_with_next_completion", "context": [ { "key": "last_command", "operator": "equal", "operand": "insert_best_completion" }, { "key": "setting.tab_completion", "operator": "equal", "operand": true } ] }, { "keys": ["tab"], "command": "reindent", "context": [ { "key": "setting.auto_indent", "operator": "equal", "operand": true }, { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, { "key": "preceding_text", "operator": "regex_match", "operand": "^$", "match_all": true }, { "key": "following_text", "operator": "regex_match", "operand": "^$", "match_all": true } ] }, { "keys": ["tab"], "command": "indent", "context": [ { "key": "text", "operator": "regex_contains", "operand": " " } ] }, { "keys": ["tab"], "command": "next_field", "context": [ { "key": "has_next_field", "operator": "equal", "operand": true } ] }, { "keys": ["tab"], "command": "commit_completion", "context": [ { "key": "auto_complete_visible" }, { "key": "setting.auto_complete_commit_on_tab" } ] }, { "keys": ["shift+tab"], "command": "insert", "args": {"characters": " "} }, { "keys": ["shift+tab"], "command": "unindent", "context": [ { "key": "setting.shift_tab_unindent", "operator": "equal", "operand": true } ] }, { "keys": ["shift+tab"], "command": "unindent", "context": [ { "key": "preceding_text", "operator": "regex_match", "operand": "^[ ]*" } ] }, { "keys": ["shift+tab"], "command": "unindent", "context": [ { "key": "text", "operator": "regex_contains", "operand": " " } ] }, { "keys": ["shift+tab"], "command": "prev_field", "context": [ { "key": "has_prev_field", "operator": "equal", "operand": true } ] }, { "keys": ["ctrl+]"], "command": "indent" }, { "keys": ["ctrl+["], "command": "unindent" }, { "keys": ["insert"], "command": "toggle_overwrite" }, { "keys": ["ctrl+l"], "command": "expand_selection", "args": {"to": "line"} }, { "keys": ["ctrl+d"], "command": "find_under_expand" }, { "keys": ["ctrl+k", "ctrl+d"], "command": "find_under_expand_skip" }, { "keys": ["ctrl+shift+space"], "command": "expand_selection", "args": {"to": "scope"} }, { "keys": ["ctrl+shift+m"], "command": "expand_selection", "args": {"to": "brackets"} }, { "keys": ["ctrl+m"], "command": "move_to", "args": {"to": "brackets"} }, { "keys": ["ctrl+shift+j"], "command": "expand_selection", "args": {"to": "indentation"} }, { "keys": ["ctrl+shift+a"], "command": "expand_selection", "args": {"to": "tag"} }, { "keys": ["alt+."], "command": "close_tag" }, { "keys": ["ctrl+q"], "command": "toggle_record_macro" }, { "keys": ["ctrl+shift+q"], "command": "run_macro" }, { "keys": ["ctrl+enter"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Add Line.sublime-macro"} }, { "keys": ["ctrl+shift+enter"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Add Line Before.sublime-macro"} }, { "keys": ["enter"], "command": "commit_completion", "context": [ { "key": "auto_complete_visible" }, { "key": "setting.auto_complete_commit_on_tab", "operand": false } ] }, { "keys": ["ctrl+p"], "command": "show_overlay", "args": {"overlay": "goto", "show_files": true} }, { "keys": ["ctrl+shift+p"], "command": "show_overlay", "args": {"overlay": "command_palette"} }, { "keys": ["ctrl+alt+p"], "command": "prompt_select_workspace" }, { "keys": ["ctrl+r"], "command": "show_overlay", "args": {"overlay": "goto", "text": "@"} }, { "keys": ["ctrl+g"], "command": "show_overlay", "args": {"overlay": "goto", "text": ":"} }, { "keys": ["ctrl+;"], "command": "show_overlay", "args": {"overlay": "goto", "text": "#"} }, { "keys": ["f12"], "command": "goto_definition" }, //{ "keys": ["ctrl+shift+r"], "command": "goto_symbol_in_project" }, //{"keys":["ctrl+shift+r"],"command":"browser_refresh","args":{"auto_save":true,"delay":0.5,"activate":true,"browsers":["chrome"]}}, { "keys": ["alt+keypad_minus"], "command": "jump_back" }, { "keys": ["alt+shift+keypad_minus"], "command": "jump_forward" }, { "keys": ["alt+-"], "command": "jump_back" }, { "keys": ["alt+shift+-"], "command": "jump_forward" }, { "keys": ["ctrl+i"], "command": "show_panel", "args": {"panel": "incremental_find", "reverse": false} }, { "keys": ["ctrl+shift+i"], "command": "show_panel", "args": {"panel": "incremental_find", "reverse": true} }, { "keys": ["ctrl+f"], "command": "show_panel", "args": {"panel": "find", "reverse": false} }, { "keys": ["ctrl+h"], "command": "show_panel", "args": {"panel": "replace", "reverse": false} }, { "keys": ["ctrl+shift+h"], "command": "replace_next" }, { "keys": ["f3"], "command": "find_next" }, { "keys": ["shift+f3"], "command": "find_prev" }, { "keys": ["ctrl+f3"], "command": "find_under" }, { "keys": ["ctrl+shift+f3"], "command": "find_under_prev" }, { "keys": ["alt+f3"], "command": "find_all_under" }, { "keys": ["ctrl+e"], "command": "slurp_find_string" }, { "keys": ["ctrl+shift+e"], "command": "slurp_replace_string" }, { "keys": ["ctrl+shift+f"], "command": "show_panel", "args": {"panel": "find_in_files"} }, { "keys": ["f4"], "command": "next_result" }, { "keys": ["shift+f4"], "command": "prev_result" }, { "keys": ["f6"], "command": "toggle_setting", "args": {"setting": "spell_check"} }, { "keys": ["ctrl+f6"], "command": "next_misspelling" }, { "keys": ["ctrl+shift+f6"], "command": "prev_misspelling" }, { "keys": ["ctrl+shift+up"], "command": "swap_line_up" }, { "keys": ["ctrl+shift+down"], "command": "swap_line_down" }, { "keys": ["ctrl+backspace"], "command": "delete_word", "args": { "forward": false } }, { "keys": ["ctrl+shift+backspace"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Delete to Hard BOL.sublime-macro"} }, { "keys": ["ctrl+delete"], "command": "delete_word", "args": { "forward": true } }, { "keys": ["ctrl+shift+delete"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Delete to Hard EOL.sublime-macro"} }, { "keys": ["ctrl+/"], "command": "toggle_comment", "args": { "block": false } }, { "keys": ["ctrl+shift+/"], "command": "toggle_comment", "args": { "block": true } }, { "keys": ["ctrl+j"], "command": "join_lines" }, { "keys": ["ctrl+shift+d"], "command": "duplicate_line" }, { "keys": ["ctrl+`"], "command": "show_panel", "args": {"panel": "console", "toggle": true} }, { "keys": ["ctrl+space"], "command": "auto_complete" }, { "keys": ["ctrl+space"], "command": "replace_completion_with_auto_complete", "context": [ { "key": "last_command", "operator": "equal", "operand": "insert_best_completion" }, { "key": "auto_complete_visible", "operator": "equal", "operand": false }, { "key": "setting.tab_completion", "operator": "equal", "operand": true } ] }, { "keys": ["ctrl+alt+shift+p"], "command": "show_scope_name" }, { "keys": ["f7"], "command": "build" }, { "keys": ["ctrl+b"], "command": "build" }, { "keys": ["ctrl+shift+b"], "command": "build", "args": {"variant": "Run"} }, { "keys": ["ctrl+break"], "command": "exec", "args": {"kill": true} }, { "keys": ["ctrl+t"], "command": "transpose" }, { "keys": ["f9"], "command": "sort_lines", "args": {"case_sensitive": false} }, { "keys": ["ctrl+f9"], "command": "sort_lines", "args": {"case_sensitive": true} }, // Auto-pair quotes { "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": "^(?: | |\)|]|\}|>|$)", "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.double", "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 } ] }, // Auto-pair single quotes { "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": "^(?: | |\)|]|\}|>|$)", "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 } ] }, // Auto-pair brackets { "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": "^(?: | |\)|]|;|\}|$)", "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 } ] }, // Auto-pair square brackets { "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": "^(?: | |\)|]|;|\}|$)", "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 } ] }, // Auto-pair curly brackets { "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": "^(?: | |\)|]|\}|$)", "match_all": true } ] }, { "keys": ["{"], "command": "wrap_block", "args": {"begin": "{", "end": "}"}, "context": [ { "key": "indented_block", "match_all": true }, { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, { "key": "following_text", "operator": "regex_match", "operand": "^$", "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 } ] }, { "keys": ["enter"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Add Line in Braces.sublime-macro"}, "context": [ { "key": "setting.auto_indent", "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 } ] }, { "keys": ["shift+enter"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Add Line in Braces.sublime-macro"}, "context": [ { "key": "setting.auto_indent", "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 } ] }, { "keys": ["enter"], "command": "insert_snippet", "args": {"contents": " $0 "}, "context": [ { "key": "setting.auto_indent", "operator": "equal", "operand": true }, { "key": "selector", "operator": "equal", "operand": "meta.scope.between-tag-pair", "match_all": true }, { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, ] }, { "keys": ["shift+enter"], "command": "insert_snippet", "args": {"contents": " $0 "}, "context": [ { "key": "setting.auto_indent", "operator": "equal", "operand": true }, { "key": "selector", "operator": "equal", "operand": "meta.scope.between-tag-pair", "match_all": true }, { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, ] }, { "keys": ["alt+shift+1"], "command": "set_layout", "args": { "cols": [0.0, 1.0], "rows": [0.0, 1.0], "cells": [[0, 0, 1, 1]] } }, { "keys": ["alt+shift+2"], "command": "set_layout", "args": { "cols": [0.0, 0.5, 1.0], "rows": [0.0, 1.0], "cells": [[0, 0, 1, 1], [1, 0, 2, 1]] } }, { "keys": ["alt+shift+3"], "command": "set_layout", "args": { "cols": [0.0, 0.33, 0.66, 1.0], "rows": [0.0, 1.0], "cells": [[0, 0, 1, 1], [1, 0, 2, 1], [2, 0, 3, 1]] } }, { "keys": ["alt+shift+4"], "command": "set_layout", "args": { "cols": [0.0, 0.25, 0.5, 0.75, 1.0], "rows": [0.0, 1.0], "cells": [[0, 0, 1, 1], [1, 0, 2, 1], [2, 0, 3, 1], [3, 0, 4, 1]] } }, { "keys": ["alt+shift+8"], "command": "set_layout", "args": { "cols": [0.0, 1.0], "rows": [0.0, 0.5, 1.0], "cells": [[0, 0, 1, 1], [0, 1, 1, 2]] } }, { "keys": ["alt+shift+9"], "command": "set_layout", "args": { "cols": [0.0, 1.0], "rows": [0.0, 0.33, 0.66, 1.0], "cells": [[0, 0, 1, 1], [0, 1, 1, 2], [0, 2, 1, 3]] } }, { "keys": ["alt+shift+5"], "command": "set_layout", "args": { "cols": [0.0, 0.5, 1.0], "rows": [0.0, 0.5, 1.0], "cells": [ [0, 0, 1, 1], [1, 0, 2, 1], [0, 1, 1, 2], [1, 1, 2, 2] ] } }, { "keys": ["ctrl+1"], "command": "focus_group", "args": { "group": 0 } }, { "keys": ["ctrl+2"], "command": "focus_group", "args": { "group": 1 } }, { "keys": ["ctrl+3"], "command": "focus_group", "args": { "group": 2 } }, { "keys": ["ctrl+4"], "command": "focus_group", "args": { "group": 3 } }, { "keys": ["ctrl+5"], "command": "focus_group", "args": { "group": 4 } }, { "keys": ["ctrl+6"], "command": "focus_group", "args": { "group": 5 } }, { "keys": ["ctrl+7"], "command": "focus_group", "args": { "group": 6 } }, { "keys": ["ctrl+8"], "command": "focus_group", "args": { "group": 7 } }, { "keys": ["ctrl+9"], "command": "focus_group", "args": { "group": 8 } }, { "keys": ["ctrl+shift+1"], "command": "move_to_group", "args": { "group": 0 } }, { "keys": ["ctrl+shift+2"], "command": "move_to_group", "args": { "group": 1 } }, { "keys": ["ctrl+shift+3"], "command": "move_to_group", "args": { "group": 2 } }, { "keys": ["ctrl+shift+4"], "command": "move_to_group", "args": { "group": 3 } }, { "keys": ["ctrl+shift+5"], "command": "move_to_group", "args": { "group": 4 } }, { "keys": ["ctrl+shift+6"], "command": "move_to_group", "args": { "group": 5 } }, { "keys": ["ctrl+shift+7"], "command": "move_to_group", "args": { "group": 6 } }, { "keys": ["ctrl+shift+8"], "command": "move_to_group", "args": { "group": 7 } }, { "keys": ["ctrl+shift+9"], "command": "move_to_group", "args": { "group": 8 } }, { "keys": ["ctrl+0"], "command": "focus_side_bar" }, { "keys": ["ctrl+k", "ctrl+up"], "command": "new_pane" }, { "keys": ["ctrl+k", "ctrl+shift+up"], "command": "new_pane", "args": {"move": false} }, { "keys": ["ctrl+k", "ctrl+down"], "command": "close_pane" }, { "keys": ["ctrl+k", "ctrl+left"], "command": "focus_neighboring_group", "args": {"forward": false} }, { "keys": ["ctrl+k", "ctrl+right"], "command": "focus_neighboring_group" }, { "keys": ["ctrl+k", "ctrl+shift+left"], "command": "move_to_neighboring_group", "args": {"forward": false} }, { "keys": ["ctrl+k", "ctrl+shift+right"], "command": "move_to_neighboring_group" }, { "keys": ["alt+1"], "command": "select_by_index", "args": { "index": 0 } }, { "keys": ["alt+2"], "command": "select_by_index", "args": { "index": 1 } }, { "keys": ["alt+3"], "command": "select_by_index", "args": { "index": 2 } }, { "keys": ["alt+4"], "command": "select_by_index", "args": { "index": 3 } }, { "keys": ["alt+5"], "command": "select_by_index", "args": { "index": 4 } }, { "keys": ["alt+6"], "command": "select_by_index", "args": { "index": 5 } }, { "keys": ["alt+7"], "command": "select_by_index", "args": { "index": 6 } }, { "keys": ["alt+8"], "command": "select_by_index", "args": { "index": 7 } }, { "keys": ["alt+9"], "command": "select_by_index", "args": { "index": 8 } }, { "keys": ["alt+0"], "command": "select_by_index", "args": { "index": 9 } }, { "keys": ["f2"], "command": "next_bookmark" }, { "keys": ["shift+f2"], "command": "prev_bookmark" }, { "keys": ["ctrl+f2"], "command": "toggle_bookmark" }, { "keys": ["ctrl+shift+f2"], "command": "clear_bookmarks" }, { "keys": ["alt+f2"], "command": "select_all_bookmarks" }, { "keys": ["ctrl+shift+k"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Delete Line.sublime-macro"} }, { "keys": ["alt+q"], "command": "wrap_lines" }, { "keys": ["ctrl+k", "ctrl+u"], "command": "upper_case" }, { "keys": ["ctrl+k", "ctrl+l"], "command": "lower_case" }, { "keys": ["ctrl+k", "ctrl+space"], "command": "set_mark" }, { "keys": ["ctrl+k", "ctrl+a"], "command": "select_to_mark" }, { "keys": ["ctrl+k", "ctrl+w"], "command": "delete_to_mark" }, { "keys": ["ctrl+k", "ctrl+x"], "command": "swap_with_mark" }, { "keys": ["ctrl+k", "ctrl+y"], "command": "yank" }, { "keys": ["ctrl+k", "ctrl+k"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Delete to Hard EOL.sublime-macro"} }, { "keys": ["ctrl+k", "ctrl+backspace"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Delete to Hard BOL.sublime-macro"} }, { "keys": ["ctrl+k", "ctrl+g"], "command": "clear_bookmarks", "args": {"name": "mark"} }, { "keys": ["ctrl+k", "ctrl+c"], "command": "show_at_center" }, { "keys": ["ctrl++"], "command": "increase_font_size" }, { "keys": ["ctrl+="], "command": "increase_font_size" }, { "keys": ["ctrl+keypad_plus"], "command": "increase_font_size" }, { "keys": ["ctrl+-"], "command": "decrease_font_size" }, { "keys": ["ctrl+keypad_minus"], "command": "decrease_font_size" }, { "keys": ["ctrl+equals"], "command": "increase_font_size" }, { "keys": ["ctrl+shift+equals"], "command": "decrease_font_size" }, { "keys": ["ctrl+keypad_plus"], "command": "increase_font_size" }, { "keys": ["ctrl+shift+keypad_plus"], "command": "decrease_font_size" }, { "keys": ["alt+shift+w"], "command": "insert_snippet", "args": { "name": "Packages/XML/long-tag.sublime-snippet" } }, { "keys": ["ctrl+shift+["], "command": "fold" }, { "keys": ["ctrl+shift+]"], "command": "unfold" }, { "keys": ["ctrl+k", "ctrl+1"], "command": "fold_by_level", "args": {"level": 1} }, { "keys": ["ctrl+k", "ctrl+2"], "command": "fold_by_level", "args": {"level": 2} }, { "keys": ["ctrl+k", "ctrl+3"], "command": "fold_by_level", "args": {"level": 3} }, { "keys": ["ctrl+k", "ctrl+4"], "command": "fold_by_level", "args": {"level": 4} }, { "keys": ["ctrl+k", "ctrl+5"], "command": "fold_by_level", "args": {"level": 5} }, { "keys": ["ctrl+k", "ctrl+6"], "command": "fold_by_level", "args": {"level": 6} }, { "keys": ["ctrl+k", "ctrl+7"], "command": "fold_by_level", "args": {"level": 7} }, { "keys": ["ctrl+k", "ctrl+8"], "command": "fold_by_level", "args": {"level": 8} }, { "keys": ["ctrl+k", "ctrl+9"], "command": "fold_by_level", "args": {"level": 9} }, { "keys": ["ctrl+k", "ctrl+0"], "command": "unfold_all" }, { "keys": ["ctrl+k", "ctrl+j"], "command": "unfold_all" }, { "keys": ["ctrl+k", "ctrl+t"], "command": "fold_tag_attributes" }, { "keys": ["context_menu"], "command": "context_menu" }, { "keys": ["alt+c"], "command": "toggle_case_sensitive", "context": [ { "key": "setting.is_widget", "operator": "equal", "operand": true } ] }, { "keys": ["alt+r"], "command": "toggle_regex", "context": [ { "key": "setting.is_widget", "operator": "equal", "operand": true } ] }, { "keys": ["alt+w"], "command": "toggle_whole_word", "context": [ { "key": "setting.is_widget", "operator": "equal", "operand": true } ] }, { "keys": ["alt+a"], "command": "toggle_preserve_case", "context": [ { "key": "setting.is_widget", "operator": "equal", "operand": true } ] }, // Find panel key bindings { "keys": ["enter"], "command": "find_next", "context": [{"key": "panel", "operand": "find"}, {"key": "panel_has_focus"}] }, { "keys": ["shift+enter"], "command": "find_prev", "context": [{"key": "panel", "operand": "find"}, {"key": "panel_has_focus"}] }, { "keys": ["alt+enter"], "command": "find_all", "args": {"close_panel": true}, "context": [{"key": "panel", "operand": "find"}, {"key": "panel_has_focus"}] }, // Replace panel key bindings { "keys": ["enter"], "command": "find_next", "context": [{"key": "panel", "operand":