subltime 是一款快速开发各种文档的软件,本文主要介绍使用编写HTML,文章末尾提供绿色版安装包下载工具
A快捷键说明
Ctrl+Shift+P:打开命令面板
Ctrl+P:搜索项目中的文件
Ctrl+G:跳转到第几行
Ctrl+W:关闭当前打开文件
Ctrl+Shift+W:关闭所有打开文件
Ctrl+Shift+V:粘贴并格式化
Ctrl+D:选择单词,重复可增加选择下一个相同的单词
Ctrl+L:选择行,重复可依次增加选择下一行
Ctrl+Shift+L:选择多行
Ctrl+Shift+Enter:在当前行前插入新行
Ctrl+X:删除当前行
Ctrl+M:跳转到对应括号
Ctrl+U:软撤销,撤销光标位置
Ctrl+J:选择标签内容
Ctrl+F:查找内容
Ctrl+Shift+F:查找并替换
Ctrl+H:替换
Ctrl+R:前往 method
Ctrl+N:新建窗口
Ctrl+K+B:开关侧栏
Ctrl+Shift+M:选中当前括号内容,重复可选着括号本身
Ctrl+F2:设置/删除标记
Ctrl+/:注释当前行
Ctrl+Shift+/:当前位置插入注释
Ctrl+Alt+/:块注释,并Focus到首行,写注释说明用的
Ctrl+Shift+A:选择当前标签前后,修改标签用的
F11:全屏
Shift+F11:全屏免打扰模式,只编辑当前文件
Alt+F3:选择所有相同的词
Alt+.:闭合标签
Alt+Shift+数字:分屏显示
Alt+数字:切换打开第N个文件
Shift+右键拖动:光标多不,用来更改或插入列内容
鼠标的前进后退键可切换Tab文件
按Ctrl,依次点击或选取,可需要编辑的多个位置
按Ctrl+Shift+上下键,可替换行
选择类
Ctrl+D 选中光标所占的文本,继续操作则会选中下一个相同的文本。
Alt+F3 选中文本按下快捷键,即可一次性选择全部的相同文本进行同时编辑。举个栗子:快速选中并更改所有相同的变量名、函数名等。
Ctrl+L 选中整行,继续操作则继续选择下一行,效果和 Shift+↓ 效果一样。
Ctrl+Shift+L 先选中多行,再按下快捷键,会在每行行尾插入光标,即可同时编辑这些行。
Ctrl+Shift+M 选择括号内的内容(继续选择父括号)。举个栗子:快速选中删除函数中的代码,重写函数体代码或重写括号内里的内容。
Ctrl+M 光标移动至括号内结束或开始的位置。
Ctrl+Enter 在下一行插入新行。举个栗子:即使光标不在行尾,也能快速向下插入一行。
Ctrl+Shift+Enter 在上一行插入新行。举个栗子:即使光标不在行首,也能快速向上插入一行。
Ctrl+Shift+[ 选中代码,按下快捷键,折叠代码。
Ctrl+Shift+] 选中代码,按下快捷键,展开代码。
Ctrl+K+0 展开所有折叠代码。
Ctrl+← 向左单位性地移动光标,快速移动光标。
Ctrl+→ 向右单位性地移动光标,快速移动光标。
shift+↑ 向上选中多行。
shift+↓ 向下选中多行。
Shift+← 向左选中文本。
Shift+→ 向右选中文本。
Ctrl+Shift+← 向左单位性地选中文本。
Ctrl+Shift+→ 向右单位性地选中文本。
Ctrl+Shift+↑ 将光标所在行和上一行代码互换(将光标所在行插入到上一行之前)。
Ctrl+Shift+↓ 将光标所在行和下一行代码互换(将光标所在行插入到下一行之后)。
Ctrl+Alt+↑ 向上添加多行光标,可同时编辑多行。
Ctrl+Alt+↓ 向下添加多行光标,可同时编辑多行。
编辑类
Ctrl+J 合并选中的多行代码为一行。举个栗子:将多行格式的CSS属性合并为一行。
Ctrl+Shift+D 复制光标所在整行,插入到下一行。
Tab 向右缩进。
Shift+Tab 向左缩进。
Ctrl+K+K 从光标处开始删除代码至行尾。
Ctrl+Shift+K 删除整行。
Ctrl+/ 注释单行。
Ctrl+Shift+/ 注释多行。
Ctrl+K+U 转换大写。
Ctrl+K+L 转换小写。
Ctrl+Z 撤销。
Ctrl+Y 恢复撤销。
Ctrl+U 软撤销,感觉和 Gtrl+Z 一样。
Ctrl+F2 设置书签
Ctrl+T 左右字母互换。
F6 单词检测拼写
搜索类
Ctrl+F 打开底部搜索框,查找关键字。
Ctrl+shift+F 在文件夹内查找,与普通编辑器不同的地方是sublime允许添加多个文件夹进行查找,略高端,未研究。
Ctrl+P 打开搜索框。举个栗子:1、输入当前项目中的文件名,快速搜索文件,2、输入@和关键字,查找文件中函数名,3、输入:和数字,跳转到文件中该行代码,4、输入#和关键字,查找变量名。
Ctrl+G 打开搜索框,自动带:,输入数字跳转到该行代码。举个栗子:在页面代码比较长的文件中快速定位。
Ctrl+R 打开搜索框,自动带@,输入关键字,查找文件中的函数名。举个栗子:在函数较多的页面快速查找某个函数。
Ctrl+: 打开搜索框,自动带#,输入关键字,查找文件中的变量名、属性名等。
Ctrl+Shift+P 打开命令框。场景栗子:打开命名框,输入关键字,调用sublime text或插件的功能,例如使用package安装插件。
Esc 退出光标多行选择,退出搜索框,命令框等。
显示类
Ctrl+Tab 按文件浏览过的顺序,切换当前窗口的标签页。
Ctrl+PageDown 向左切换当前窗口的标签页。
Ctrl+PageUp 向右切换当前窗口的标签页。
Alt+Shift+1 窗口分屏,恢复默认1屏(非小键盘的数字)
Alt+Shift+2 左右分屏-2列
Alt+Shift+3 左右分屏-3列
Alt+Shift+4 左右分屏-4列
Alt+Shift+5 等分4屏
Alt+Shift+8 垂直分屏-2屏
Alt+Shift+9 垂直分屏-3屏
Ctrl+K+B 开启/关闭侧边栏。
F11 全屏模式
Shift+F11 免打扰模式
B.浏览快捷键设置
双击打开工具,点击首选项 -按键绑定(默认)[key_bindings_user],输入如下代码 直接保存即可.
1 [ 2 { "keys": ["ctrl+shift+n"], "command": "new_window" }, 3 { "keys": ["ctrl+shift+w"], "command": "close_window" }, 4 { "keys": ["ctrl+o"], "command": "prompt_open_file" }, 5 { "keys": ["ctrl+shift+t"], "command": "reopen_last_file" }, 6 { "keys": ["alt+o"], "command": "switch_file", "args": {"extensions": ["cpp", "cxx", "cc", "c", "hpp", "hxx", "h", "ipp", "inl", "m", "mm"]} }, 7 { "keys": ["ctrl+n"], "command": "new_file" }, 8 { "keys": ["ctrl+s"], "command": "save" }, 9 { "keys": ["ctrl+shift+s"], "command": "prompt_save_as" }, 10 { "keys": ["ctrl+f4"], "command": "close_file" }, 11 { "keys": ["ctrl+w"], "command": "close" }, 12 13 { "keys": ["ctrl+k", "ctrl+b"], "command": "toggle_side_bar" }, 14 { "keys": ["f11"], "command": "toggle_full_screen" }, 15 { "keys": ["shift+f11"], "command": "toggle_distraction_free" }, 16 17 { "keys": ["backspace"], "command": "left_delete" }, 18 { "keys": ["shift+backspace"], "command": "left_delete" }, 19 { "keys": ["ctrl+shift+backspace"], "command": "left_delete" }, 20 { "keys": ["delete"], "command": "right_delete" }, 21 { "keys": ["enter"], "command": "insert", "args": {"characters": " "} }, 22 { "keys": ["shift+enter"], "command": "insert", "args": {"characters": " "} }, 23 24 { "keys": ["ctrl+z"], "command": "undo" }, 25 { "keys": ["ctrl+shift+z"], "command": "redo" }, 26 { "keys": ["ctrl+y"], "command": "redo_or_repeat" }, 27 { "keys": ["ctrl+u"], "command": "soft_undo" }, 28 { "keys": ["ctrl+shift+u"], "command": "soft_redo" }, 29 30 { "keys": ["shift+delete"], "command": "cut" }, 31 { "keys": ["ctrl+insert"], "command": "copy" }, 32 { "keys": ["shift+insert"], "command": "paste" }, 33 { "keys": ["ctrl+x"], "command": "cut" }, 34 { "keys": ["ctrl+c"], "command": "copy" }, 35 { "keys": ["ctrl+v"], "command": "paste" }, 36 { "keys": ["ctrl+shift+v"], "command": "paste_and_indent" }, 37 { "keys": ["ctrl+k", "ctrl+v"], "command": "paste_from_history" }, 38 39 { "keys": ["left"], "command": "move", "args": {"by": "characters", "forward": false} }, 40 { "keys": ["right"], "command": "move", "args": {"by": "characters", "forward": true} }, 41 { "keys": ["up"], "command": "move", "args": {"by": "lines", "forward": false} }, 42 { "keys": ["down"], "command": "move", "args": {"by": "lines", "forward": true} }, 43 { "keys": ["shift+left"], "command": "move", "args": {"by": "characters", "forward": false, "extend": true} }, 44 { "keys": ["shift+right"], "command": "move", "args": {"by": "characters", "forward": true, "extend": true} }, 45 { "keys": ["shift+up"], "command": "move", "args": {"by": "lines", "forward": false, "extend": true} }, 46 { "keys": ["shift+down"], "command": "move", "args": {"by": "lines", "forward": true, "extend": true} }, 47 48 { "keys": ["ctrl+left"], "command": "move", "args": {"by": "words", "forward": false} }, 49 { "keys": ["ctrl+right"], "command": "move", "args": {"by": "word_ends", "forward": true} }, 50 { "keys": ["ctrl+shift+left"], "command": "move", "args": {"by": "words", "forward": false, "extend": true} }, 51 { "keys": ["ctrl+shift+right"], "command": "move", "args": {"by": "word_ends", "forward": true, "extend": true} }, 52 53 { "keys": ["alt+left"], "command": "move", "args": {"by": "subwords", "forward": false} }, 54 { "keys": ["alt+right"], "command": "move", "args": {"by": "subword_ends", "forward": true} }, 55 { "keys": ["alt+shift+left"], "command": "move", "args": {"by": "subwords", "forward": false, "extend": true} }, 56 { "keys": ["alt+shift+right"], "command": "move", "args": {"by": "subword_ends", "forward": true, "extend": true} }, 57 58 { "keys": ["ctrl+alt+up"], "command": "select_lines", "args": {"forward": false} }, 59 { "keys": ["ctrl+alt+down"], "command": "select_lines", "args": {"forward": true} }, 60 61 { "keys": ["pageup"], "command": "move", "args": {"by": "pages", "forward": false} }, 62 { "keys": ["pagedown"], "command": "move", "args": {"by": "pages", "forward": true} }, 63 { "keys": ["shift+pageup"], "command": "move", "args": {"by": "pages", "forward": false, "extend": true} }, 64 { "keys": ["shift+pagedown"], "command": "move", "args": {"by": "pages", "forward": true, "extend": true} }, 65 66 { "keys": ["home"], "command": "move_to", "args": {"to": "bol", "extend": false} }, 67 { "keys": ["end"], "command": "move_to", "args": {"to": "eol", "extend": false} }, 68 { "keys": ["shift+home"], "command": "move_to", "args": {"to": "bol", "extend": true} }, 69 { "keys": ["shift+end"], "command": "move_to", "args": {"to": "eol", "extend": true} }, 70 { "keys": ["ctrl+home"], "command": "move_to", "args": {"to": "bof", "extend": false} }, 71 { "keys": ["ctrl+end"], "command": "move_to", "args": {"to": "eof", "extend": false} }, 72 { "keys": ["ctrl+shift+home"], "command": "move_to", "args": {"to": "bof", "extend": true} }, 73 { "keys": ["ctrl+shift+end"], "command": "move_to", "args": {"to": "eof", "extend": true} }, 74 75 76 { "keys": ["ctrl+up"], "command": "scroll_lines", "args": {"amount": 1.0 } }, 77 { "keys": ["ctrl+down"], "command": "scroll_lines", "args": {"amount": -1.0 } }, 78 79 { "keys": ["ctrl+pagedown"], "command": "next_view" }, 80 { "keys": ["ctrl+pageup"], "command": "prev_view" }, 81 82 { "keys": ["ctrl+tab"], "command": "next_view_in_stack" }, 83 { "keys": ["ctrl+shift+tab"], "command": "prev_view_in_stack" }, 84 85 { "keys": ["ctrl+a"], "command": "select_all" }, 86 { "keys": ["ctrl+shift+l"], "command": "split_selection_into_lines" }, 87 { "keys": ["escape"], "command": "single_selection", "context": 88 [ 89 { "key": "num_selections", "operator": "not_equal", "operand": 1 } 90 ] 91 }, 92 { "keys": ["escape"], "command": "clear_fields", "context": 93 [ 94 { "key": "has_next_field", "operator": "equal", "operand": true } 95 ] 96 }, 97 { "keys": ["escape"], "command": "clear_fields", "context": 98 [ 99 { "key": "has_prev_field", "operator": "equal", "operand": true } 100 ] 101 }, 102 { "keys": ["escape"], "command": "hide_panel", "args": {"cancel": true}, 103 "context": 104 [ 105 { "key": "panel_visible", "operator": "equal", "operand": true } 106 ] 107 }, 108 { "keys": ["escape"], "command": "hide_overlay", "context": 109 [ 110 { "key": "overlay_visible", "operator": "equal", "operand": true } 111 ] 112 }, 113 { "keys": ["escape"], "command": "hide_auto_complete", "context": 114 [ 115 { "key": "auto_complete_visible", "operator": "equal", "operand": true } 116 ] 117 }, 118 119 { "keys": ["tab"], "command": "insert_best_completion", "args": {"default": " ", "exact": true} }, 120 { "keys": ["tab"], "command": "insert_best_completion", "args": {"default": " ", "exact": false}, 121 "context": 122 [ 123 { "key": "setting.tab_completion", "operator": "equal", "operand": true } 124 ] 125 }, 126 { "keys": ["tab"], "command": "replace_completion_with_next_completion", "context": 127 [ 128 { "key": "last_command", "operator": "equal", "operand": "insert_best_completion" }, 129 { "key": "setting.tab_completion", "operator": "equal", "operand": true } 130 ] 131 }, 132 { "keys": ["tab"], "command": "reindent", "context": 133 [ 134 { "key": "setting.auto_indent", "operator": "equal", "operand": true }, 135 { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, 136 { "key": "preceding_text", "operator": "regex_match", "operand": "^$", "match_all": true }, 137 { "key": "following_text", "operator": "regex_match", "operand": "^$", "match_all": true } 138 ] 139 }, 140 { "keys": ["tab"], "command": "indent", "context": 141 [ 142 { "key": "text", "operator": "regex_contains", "operand": " " } 143 ] 144 }, 145 { "keys": ["tab"], "command": "next_field", "context": 146 [ 147 { "key": "has_next_field", "operator": "equal", "operand": true } 148 ] 149 }, 150 { "keys": ["tab"], "command": "commit_completion", "context": 151 [ 152 { "key": "auto_complete_visible" }, 153 { "key": "setting.auto_complete_commit_on_tab" } 154 ] 155 }, 156 157 { "keys": ["shift+tab"], "command": "insert", "args": {"characters": " "} }, 158 { "keys": ["shift+tab"], "command": "unindent", "context": 159 [ 160 { "key": "setting.shift_tab_unindent", "operator": "equal", "operand": true } 161 ] 162 }, 163 { "keys": ["shift+tab"], "command": "unindent", "context": 164 [ 165 { "key": "preceding_text", "operator": "regex_match", "operand": "^[ ]*" } 166 ] 167 }, 168 { "keys": ["shift+tab"], "command": "unindent", "context": 169 [ 170 { "key": "text", "operator": "regex_contains", "operand": " " } 171 ] 172 }, 173 { "keys": ["shift+tab"], "command": "prev_field", "context": 174 [ 175 { "key": "has_prev_field", "operator": "equal", "operand": true } 176 ] 177 }, 178 179 { "keys": ["ctrl+]"], "command": "indent" }, 180 { "keys": ["ctrl+["], "command": "unindent" }, 181 182 { "keys": ["insert"], "command": "toggle_overwrite" }, 183 184 { "keys": ["ctrl+l"], "command": "expand_selection", "args": {"to": "line"} }, 185 { "keys": ["ctrl+d"], "command": "find_under_expand" }, 186 { "keys": ["ctrl+k", "ctrl+d"], "command": "find_under_expand_skip" }, 187 { "keys": ["ctrl+shift+space"], "command": "expand_selection", "args": {"to": "scope"} }, 188 { "keys": ["ctrl+shift+m"], "command": "expand_selection", "args": {"to": "brackets"} }, 189 { "keys": ["ctrl+m"], "command": "move_to", "args": {"to": "brackets"} }, 190 { "keys": ["ctrl+shift+j"], "command": "expand_selection", "args": {"to": "indentation"} }, 191 { "keys": ["ctrl+shift+a"], "command": "expand_selection", "args": {"to": "tag"} }, 192 193 { "keys": ["alt+."], "command": "close_tag" }, 194 195 { "keys": ["ctrl+q"], "command": "toggle_record_macro" }, 196 { "keys": ["ctrl+shift+q"], "command": "run_macro" }, 197 198 { "keys": ["ctrl+enter"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Add Line.sublime-macro"} }, 199 { "keys": ["ctrl+shift+enter"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Add Line Before.sublime-macro"} }, 200 { "keys": ["enter"], "command": "commit_completion", "context": 201 [ 202 { "key": "auto_complete_visible" }, 203 { "key": "setting.auto_complete_commit_on_tab", "operand": false } 204 ] 205 }, 206 207 { "keys": ["ctrl+p"], "command": "show_overlay", "args": {"overlay": "goto", "show_files": true} }, 208 { "keys": ["ctrl+shift+p"], "command": "show_overlay", "args": {"overlay": "command_palette"} }, 209 { "keys": ["ctrl+alt+p"], "command": "prompt_select_workspace" }, 210 { "keys": ["ctrl+r"], "command": "show_overlay", "args": {"overlay": "goto", "text": "@"} }, 211 { "keys": ["ctrl+g"], "command": "show_overlay", "args": {"overlay": "goto", "text": ":"} }, 212 { "keys": ["ctrl+;"], "command": "show_overlay", "args": {"overlay": "goto", "text": "#"} }, 213 { "keys": ["f12"], "command": "goto_definition" }, 214 { "keys": ["ctrl+shift+r"], "command": "goto_symbol_in_project" }, 215 { "keys": ["alt+keypad_minus"], "command": "jump_back" }, 216 { "keys": ["alt+shift+keypad_minus"], "command": "jump_forward" }, 217 { "keys": ["alt+-"], "command": "jump_back" }, 218 { "keys": ["alt+shift+-"], "command": "jump_forward" }, 219 220 { "keys": ["ctrl+i"], "command": "show_panel", "args": {"panel": "incremental_find", "reverse": false} }, 221 { "keys": ["ctrl+shift+i"], "command": "show_panel", "args": {"panel": "incremental_find", "reverse": true} }, 222 { "keys": ["ctrl+f"], "command": "show_panel", "args": {"panel": "find", "reverse": false} }, 223 { "keys": ["ctrl+h"], "command": "show_panel", "args": {"panel": "replace", "reverse": false} }, 224 { "keys": ["ctrl+shift+h"], "command": "replace_next" }, 225 { "keys": ["f3"], "command": "find_next" }, 226 { "keys": ["shift+f3"], "command": "find_prev" }, 227 { "keys": ["ctrl+f3"], "command": "find_under" }, 228 { "keys": ["ctrl+shift+f3"], "command": "find_under_prev" }, 229 { "keys": ["alt+f3"], "command": "find_all_under" }, 230 { "keys": ["ctrl+e"], "command": "slurp_find_string" }, 231 { "keys": ["ctrl+shift+e"], "command": "slurp_replace_string" }, 232 { "keys": ["ctrl+shift+f"], "command": "show_panel", "args": {"panel": "find_in_files"} }, 233 { "keys": ["f4"], "command": "next_result" }, 234 { "keys": ["shift+f4"], "command": "prev_result" }, 235 236 { "keys": ["f6"], "command": "toggle_setting", "args": {"setting": "spell_check"} }, 237 { "keys": ["ctrl+f6"], "command": "next_misspelling" }, 238 { "keys": ["ctrl+shift+f6"], "command": "prev_misspelling" }, 239 240 { "keys": ["ctrl+shift+up"], "command": "swap_line_up" }, 241 { "keys": ["ctrl+shift+down"], "command": "swap_line_down" }, 242 243 { "keys": ["ctrl+backspace"], "command": "delete_word", "args": { "forward": false } }, 244 { "keys": ["ctrl+shift+backspace"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Delete to Hard BOL.sublime-macro"} }, 245 246 { "keys": ["ctrl+delete"], "command": "delete_word", "args": { "forward": true } }, 247 { "keys": ["ctrl+shift+delete"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Delete to Hard EOL.sublime-macro"} }, 248 249 { "keys": ["ctrl+/"], "command": "toggle_comment", "args": { "block": false } }, 250 { "keys": ["ctrl+shift+/"], "command": "toggle_comment", "args": { "block": true } }, 251 252 { "keys": ["ctrl+j"], "command": "join_lines" }, 253 { "keys": ["ctrl+shift+d"], "command": "duplicate_line" }, 254 255 { "keys": ["ctrl+`"], "command": "show_panel", "args": {"panel": "console", "toggle": true} }, 256 257 { "keys": ["ctrl+space"], "command": "auto_complete" }, 258 { "keys": ["ctrl+space"], "command": "replace_completion_with_auto_complete", "context": 259 [ 260 { "key": "last_command", "operator": "equal", "operand": "insert_best_completion" }, 261 { "key": "auto_complete_visible", "operator": "equal", "operand": false }, 262 { "key": "setting.tab_completion", "operator": "equal", "operand": true } 263 ] 264 }, 265 266 { "keys": ["ctrl+alt+shift+p"], "command": "show_scope_name" }, 267 268 { "keys": ["f7"], "command": "build" }, 269 { "keys": ["ctrl+b"], "command": "build" }, 270 { "keys": ["ctrl+shift+b"], "command": "build", "args": {"variant": "Run"} }, 271 { "keys": ["ctrl+break"], "command": "exec", "args": {"kill": true} }, 272 273 { "keys": ["ctrl+t"], "command": "transpose" }, 274 275 { "keys": ["f9"], "command": "sort_lines", "args": {"case_sensitive": false} }, 276 { "keys": ["ctrl+f9"], "command": "sort_lines", "args": {"case_sensitive": true} }, 277 278 // Auto-pair quotes 279 { "keys": ["""], "command": "insert_snippet", "args": {"contents": ""$0""}, "context": 280 [ 281 { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, 282 { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, 283 { "key": "following_text", "operator": "regex_contains", "operand": "^(?: | |\)|]|\}|>|$)", "match_all": true }, 284 { "key": "preceding_text", "operator": "not_regex_contains", "operand": "["a-zA-Z0-9_]$", "match_all": true }, 285 { "key": "eol_selector", "operator": "not_equal", "operand": "string.quoted.double", "match_all": true } 286 ] 287 }, 288 { "keys": ["""], "command": "insert_snippet", "args": {"contents": ""${0:$SELECTION}""}, "context": 289 [ 290 { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, 291 { "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true } 292 ] 293 }, 294 { "keys": ["""], "command": "move", "args": {"by": "characters", "forward": true}, "context": 295 [ 296 { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, 297 { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, 298 { "key": "following_text", "operator": "regex_contains", "operand": "^"", "match_all": true }, 299 { "key": "selector", "operator": "not_equal", "operand": "punctuation.definition.string.begin", "match_all": true }, 300 { "key": "eol_selector", "operator": "not_equal", "operand": "string.quoted.double", "match_all": true }, 301 ] 302 }, 303 { "keys": ["backspace"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Delete Left Right.sublime-macro"}, "context": 304 [ 305 { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, 306 { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, 307 { "key": "preceding_text", "operator": "regex_contains", "operand": ""$", "match_all": true }, 308 { "key": "following_text", "operator": "regex_contains", "operand": "^"", "match_all": true }, 309 { "key": "selector", "operator": "not_equal", "operand": "punctuation.definition.string.begin", "match_all": true }, 310 { "key": "eol_selector", "operator": "not_equal", "operand": "string.quoted.double", "match_all": true }, 311 ] 312 }, 313 314 // Auto-pair single quotes 315 { "keys": ["'"], "command": "insert_snippet", "args": {"contents": "'$0'"}, "context": 316 [ 317 { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, 318 { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, 319 { "key": "following_text", "operator": "regex_contains", "operand": "^(?: | |\)|]|\}|>|$)", "match_all": true }, 320 { "key": "preceding_text", "operator": "not_regex_contains", "operand": "['a-zA-Z0-9_]$", "match_all": true }, 321 { "key": "eol_selector", "operator": "not_equal", "operand": "string.quoted.single", "match_all": true } 322 ] 323 }, 324 { "keys": ["'"], "command": "insert_snippet", "args": {"contents": "'${0:$SELECTION}'"}, "context": 325 [ 326 { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, 327 { "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true } 328 ] 329 }, 330 { "keys": ["'"], "command": "move", "args": {"by": "characters", "forward": true}, "context": 331 [ 332 { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, 333 { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, 334 { "key": "following_text", "operator": "regex_contains", "operand": "^'", "match_all": true }, 335 { "key": "selector", "operator": "not_equal", "operand": "punctuation.definition.string.begin", "match_all": true }, 336 { "key": "eol_selector", "operator": "not_equal", "operand": "string.quoted.single", "match_all": true }, 337 ] 338 }, 339 { "keys": ["backspace"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Delete Left Right.sublime-macro"}, "context": 340 [ 341 { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, 342 { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, 343 { "key": "preceding_text", "operator": "regex_contains", "operand": "'$", "match_all": true }, 344 { "key": "following_text", "operator": "regex_contains", "operand": "^'", "match_all": true }, 345 { "key": "selector", "operator": "not_equal", "operand": "punctuation.definition.string.begin", "match_all": true }, 346 { "key": "eol_selector", "operator": "not_equal", "operand": "string.quoted.single", "match_all": true }, 347 ] 348 }, 349 350 // Auto-pair brackets 351 { "keys": ["("], "command": "insert_snippet", "args": {"contents": "($0)"}, "context": 352 [ 353 { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, 354 { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, 355 { "key": "following_text", "operator": "regex_contains", "operand": "^(?: | |\)|]|;|\}|$)", "match_all": true } 356 ] 357 }, 358 { "keys": ["("], "command": "insert_snippet", "args": {"contents": "(${0:$SELECTION})"}, "context": 359 [ 360 { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, 361 { "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true } 362 ] 363 }, 364 { "keys": [")"], "command": "move", "args": {"by": "characters", "forward": true}, "context": 365 [ 366 { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, 367 { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, 368 { "key": "following_text", "operator": "regex_contains", "operand": "^\)", "match_all": true } 369 ] 370 }, 371 { "keys": ["backspace"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Delete Left Right.sublime-macro"}, "context": 372 [ 373 { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, 374 { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, 375 { "key": "preceding_text", "operator": "regex_contains", "operand": "\($", "match_all": true }, 376 { "key": "following_text", "operator": "regex_contains", "operand": "^\)", "match_all": true } 377 ] 378 }, 379 380 // Auto-pair square brackets 381 { "keys": ["["], "command": "insert_snippet", "args": {"contents": "[$0]"}, "context": 382 [ 383 { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, 384 { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, 385 { "key": "following_text", "operator": "regex_contains", "operand": "^(?: | |\)|]|;|\}|$)", "match_all": true } 386 ] 387 }, 388 { "keys": ["["], "command": "insert_snippet", "args": {"contents": "[${0:$SELECTION}]"}, "context": 389 [ 390 { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, 391 { "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true } 392 ] 393 }, 394 { "keys": ["]"], "command": "move", "args": {"by": "characters", "forward": true}, "context": 395 [ 396 { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, 397 { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, 398 { "key": "following_text", "operator": "regex_contains", "operand": "^\]", "match_all": true } 399 ] 400 }, 401 { "keys": ["backspace"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Delete Left Right.sublime-macro"}, "context": 402 [ 403 { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, 404 { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, 405 { "key": "preceding_text", "operator": "regex_contains", "operand": "\[$", "match_all": true }, 406 { "key": "following_text", "operator": "regex_contains", "operand": "^\]", "match_all": true } 407 ] 408 }, 409 410 // Auto-pair curly brackets 411 { "keys": ["{"], "command": "insert_snippet", "args": {"contents": "{$0}"}, "context": 412 [ 413 { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, 414 { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, 415 { "key": "following_text", "operator": "regex_contains", "operand": "^(?: | |\)|]|\}|$)", "match_all": true } 416 ] 417 }, 418 { "keys": ["{"], "command": "wrap_block", "args": {"begin": "{", "end": "}"}, "context": 419 [ 420 { "key": "indented_block", "match_all": true }, 421 { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, 422 { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, 423 { "key": "following_text", "operator": "regex_match", "operand": "^$", "match_all": true }, 424 ] 425 }, 426 { "keys": ["{"], "command": "insert_snippet", "args": {"contents": "{${0:$SELECTION}}"}, "context": 427 [ 428 { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, 429 { "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true } 430 ] 431 }, 432 { "keys": ["}"], "command": "move", "args": {"by": "characters", "forward": true}, "context": 433 [ 434 { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, 435 { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, 436 { "key": "following_text", "operator": "regex_contains", "operand": "^\}", "match_all": true } 437 ] 438 }, 439 { "keys": ["backspace"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Delete Left Right.sublime-macro"}, "context": 440 [ 441 { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true }, 442 { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, 443 { "key": "preceding_text", "operator": "regex_contains", "operand": "\{$", "match_all": true }, 444 { "key": "following_text", "operator": "regex_contains", "operand": "^\}", "match_all": true } 445 ] 446 }, 447 448 { "keys": ["enter"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Add Line in Braces.sublime-macro"}, "context": 449 [ 450 { "key": "setting.auto_indent", "operator": "equal", "operand": true }, 451 { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, 452 { "key": "preceding_text", "operator": "regex_contains", "operand": "\{$", "match_all": true }, 453 { "key": "following_text", "operator": "regex_contains", "operand": "^\}", "match_all": true } 454 ] 455 }, 456 { "keys": ["shift+enter"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Add Line in Braces.sublime-macro"}, "context": 457 [ 458 { "key": "setting.auto_indent", "operator": "equal", "operand": true }, 459 { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, 460 { "key": "preceding_text", "operator": "regex_contains", "operand": "\{$", "match_all": true }, 461 { "key": "following_text", "operator": "regex_contains", "operand": "^\}", "match_all": true } 462 ] 463 }, 464 465 { "keys": ["enter"], "command": "insert_snippet", "args": {"contents": " $0 "}, "context": 466 [ 467 { "key": "setting.auto_indent", "operator": "equal", "operand": true }, 468 { "key": "selector", "operator": "equal", "operand": "meta.scope.between-tag-pair", "match_all": true }, 469 { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, 470 ] 471 }, 472 { "keys": ["shift+enter"], "command": "insert_snippet", "args": {"contents": " $0 "}, "context": 473 [ 474 { "key": "setting.auto_indent", "operator": "equal", "operand": true }, 475 { "key": "selector", "operator": "equal", "operand": "meta.scope.between-tag-pair", "match_all": true }, 476 { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }, 477 ] 478 }, 479 480 { 481 "keys": ["alt+shift+1"], 482 "command": "set_layout", 483 "args": 484 { 485 "cols": [0.0, 1.0], 486 "rows": [0.0, 1.0], 487 "cells": [[0, 0, 1, 1]] 488 } 489 }, 490 { 491 "keys": ["alt+shift+2"], 492 "command": "set_layout", 493 "args": 494 { 495 "cols": [0.0, 0.5, 1.0], 496 "rows": [0.0, 1.0], 497 "cells": [[0, 0, 1, 1], [1, 0, 2, 1]] 498 } 499 }, 500 { 501 "keys": ["alt+shift+3"], 502 "command": "set_layout", 503 "args": 504 { 505 "cols": [0.0, 0.33, 0.66, 1.0], 506 "rows": [0.0, 1.0], 507 "cells": [[0, 0, 1, 1], [1, 0, 2, 1], [2, 0, 3, 1]] 508 } 509 }, 510 { 511 "keys": ["alt+shift+4"], 512 "command": "set_layout", 513 "args": 514 { 515 "cols": [0.0, 0.25, 0.5, 0.75, 1.0], 516 "rows": [0.0, 1.0], 517 "cells": [[0, 0, 1, 1], [1, 0, 2, 1], [2, 0, 3, 1], [3, 0, 4, 1]] 518 } 519 }, 520 { 521 "keys": ["alt+shift+8"], 522 "command": "set_layout", 523 "args": 524 { 525 "cols": [0.0, 1.0], 526 "rows": [0.0, 0.5, 1.0], 527 "cells": [[0, 0, 1, 1], [0, 1, 1, 2]] 528 } 529 }, 530 { 531 "keys": ["alt+shift+9"], 532 "command": "set_layout", 533 "args": 534 { 535 "cols": [0.0, 1.0], 536 "rows": [0.0, 0.33, 0.66, 1.0], 537 "cells": [[0, 0, 1, 1], [0, 1, 1, 2], [0, 2, 1, 3]] 538 } 539 }, 540 { 541 "keys": ["alt+shift+5"], 542 "command": "set_layout", 543 "args": 544 { 545 "cols": [0.0, 0.5, 1.0], 546 "rows": [0.0, 0.5, 1.0], 547 "cells": 548 [ 549 [0, 0, 1, 1], [1, 0, 2, 1], 550 [0, 1, 1, 2], [1, 1, 2, 2] 551 ] 552 } 553 }, 554 { "keys": ["ctrl+1"], "command": "focus_group", "args": { "group": 0 } }, 555 { "keys": ["ctrl+2"], "command": "focus_group", "args": { "group": 1 } }, 556 { "keys": ["ctrl+3"], "command": "focus_group", "args": { "group": 2 } }, 557 { "keys": ["ctrl+4"], "command": "focus_group", "args": { "group": 3 } }, 558 { "keys": ["ctrl+5"], "command": "focus_group", "args": { "group": 4 } }, 559 { "keys": ["ctrl+6"], "command": "focus_group", "args": { "group": 5 } }, 560 { "keys": ["ctrl+7"], "command": "focus_group", "args": { "group": 6 } }, 561 { "keys": ["ctrl+8"], "command": "focus_group", "args": { "group": 7 } }, 562 { "keys": ["ctrl+9"], "command": "focus_group", "args": { "group": 8 } }, 563 { "keys": ["ctrl+shift+1"], "command": "move_to_group", "args": { "group": 0 } }, 564 { "keys": ["ctrl+shift+2"], "command": "move_to_group", "args": { "group": 1 } }, 565 { "keys": ["ctrl+shift+3"], "command": "move_to_group", "args": { "group": 2 } }, 566 { "keys": ["ctrl+shift+4"], "command": "move_to_group", "args": { "group": 3 } }, 567 { "keys": ["ctrl+shift+5"], "command": "move_to_group", "args": { "group": 4 } }, 568 { "keys": ["ctrl+shift+6"], "command": "move_to_group", "args": { "group": 5 } }, 569 { "keys": ["ctrl+shift+7"], "command": "move_to_group", "args": { "group": 6 } }, 570 { "keys": ["ctrl+shift+8"], "command": "move_to_group", "args": { "group": 7 } }, 571 { "keys": ["ctrl+shift+9"], "command": "move_to_group", "args": { "group": 8 } }, 572 { "keys": ["ctrl+0"], "command": "focus_side_bar" }, 573 574 { "keys": ["ctrl+k", "ctrl+up"], "command": "new_pane" }, 575 { "keys": ["ctrl+k", "ctrl+shift+up"], "command": "new_pane", "args": {"move": false} }, 576 { "keys": ["ctrl+k", "ctrl+down"], "command": "close_pane" }, 577 { "keys": ["ctrl+k", "ctrl+left"], "command": "focus_neighboring_group", "args": {"forward": false} }, 578 { "keys": ["ctrl+k", "ctrl+right"], "command": "focus_neighboring_group" }, 579 { "keys": ["ctrl+k", "ctrl+shift+left"], "command": "move_to_neighboring_group", "args": {"forward": false} }, 580 { "keys": ["ctrl+k", "ctrl+shift+right"], "command": "move_to_neighboring_group" }, 581 582 { "keys": ["alt+1"], "command": "select_by_index", "args": { "index": 0 } }, 583 { "keys": ["alt+2"], "command": "select_by_index", "args": { "index": 1 } }, 584 { "keys": ["alt+3"], "command": "select_by_index", "args": { "index": 2 } }, 585 { "keys": ["alt+4"], "command": "select_by_index", "args": { "index": 3 } }, 586 { "keys": ["alt+5"], "command": "select_by_index", "args": { "index": 4 } }, 587 { "keys": ["alt+6"], "command": "select_by_index", "args": { "index": 5 } }, 588 { "keys": ["alt+7"], "command": "select_by_index", "args": { "index": 6 } }, 589 { "keys": ["alt+8"], "command": "select_by_index", "args": { "index": 7 } }, 590 { "keys": ["alt+9"], "command": "select_by_index", "args": { "index": 8 } }, 591 { "keys": ["alt+0"], "command": "select_by_index", "args": { "index": 9 } }, 592 593 { "keys": ["f2"], "command": "next_bookmark" }, 594 { "keys": ["shift+f2"], "command": "prev_bookmark" }, 595 { "keys": ["ctrl+f2"], "command": "toggle_bookmark" }, 596 { "keys": ["ctrl+shift+f2"], "command": "clear_bookmarks" }, 597 { "keys": ["alt+f2"], "command": "select_all_bookmarks" }, 598 599 { "keys": ["ctrl+shift+k"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Delete Line.sublime-macro"} }, 600 601 { "keys": ["alt+q"], "command": "wrap_lines" }, 602 603 { "keys": ["ctrl+k", "ctrl+u"], "command": "upper_case" }, 604 { "keys": ["ctrl+k", "ctrl+l"], "command": "lower_case" }, 605 606 { "keys": ["ctrl+k", "ctrl+space"], "command": "set_mark" }, 607 { "keys": ["ctrl+k", "ctrl+a"], "command": "select_to_mark" }, 608 { "keys": ["ctrl+k", "ctrl+w"], "command": "delete_to_mark" }, 609 { "keys": ["ctrl+k", "ctrl+x"], "command": "swap_with_mark" }, 610 { "keys": ["ctrl+k", "ctrl+y"], "command": "yank" }, 611 { "keys": ["ctrl+k", "ctrl+k"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Delete to Hard EOL.sublime-macro"} }, 612 { "keys": ["ctrl+k", "ctrl+backspace"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Delete to Hard BOL.sublime-macro"} }, 613 { "keys": ["ctrl+k", "ctrl+g"], "command": "clear_bookmarks", "args": {"name": "mark"} }, 614 { "keys": ["ctrl+k", "ctrl+c"], "command": "show_at_center" }, 615 616 { "keys": ["ctrl++"], "command": "increase_font_size" }, 617 { "keys": ["ctrl+="], "command": "increase_font_size" }, 618 { "keys": ["ctrl+keypad_plus"], "command": "increase_font_size" }, 619 { "keys": ["ctrl+-"], "command": "decrease_font_size" }, 620 { "keys": ["ctrl+keypad_minus"], "command": "decrease_font_size" }, 621 622 { "keys": ["ctrl+equals"], "command": "increase_font_size" }, 623 { "keys": ["ctrl+shift+equals"], "command": "decrease_font_size" }, 624 { "keys": ["ctrl+keypad_plus"], "command": "increase_font_size" }, 625 { "keys": ["ctrl+shift+keypad_plus"], "command": "decrease_font_size" }, 626 627 { "keys": ["alt+shift+w"], "command": "insert_snippet", "args": { "name": "Packages/XML/long-tag.sublime-snippet" } }, 628 629 { "keys": ["ctrl+shift+["], "command": "fold" }, 630 { "keys": ["ctrl+shift+]"], "command": "unfold" }, 631 { "keys": ["ctrl+k", "ctrl+1"], "command": "fold_by_level", "args": {"level": 1} }, 632 { "keys": ["ctrl+k", "ctrl+2"], "command": "fold_by_level", "args": {"level": 2} }, 633 { "keys": ["ctrl+k", "ctrl+3"], "command": "fold_by_level", "args": {"level": 3} }, 634 { "keys": ["ctrl+k", "ctrl+4"], "command": "fold_by_level", "args": {"level": 4} }, 635 { "keys": ["ctrl+k", "ctrl+5"], "command": "fold_by_level", "args": {"level": 5} }, 636 { "keys": ["ctrl+k", "ctrl+6"], "command": "fold_by_level", "args": {"level": 6} }, 637 { "keys": ["ctrl+k", "ctrl+7"], "command": "fold_by_level", "args": {"level": 7} }, 638 { "keys": ["ctrl+k", "ctrl+8"], "command": "fold_by_level", "args": {"level": 8} }, 639 { "keys": ["ctrl+k", "ctrl+9"], "command": "fold_by_level", "args": {"level": 9} }, 640 { "keys": ["ctrl+k", "ctrl+0"], "command": "unfold_all" }, 641 { "keys": ["ctrl+k", "ctrl+j"], "command": "unfold_all" }, 642 { "keys": ["ctrl+k", "ctrl+t"], "command": "fold_tag_attributes" }, 643 644 { "keys": ["context_menu"], "command": "context_menu" }, 645 646 { "keys": ["alt+c"], "command": "toggle_case_sensitive", "context": 647 [ 648 { "key": "setting.is_widget", "operator": "equal", "operand": true } 649 ] 650 }, 651 { "keys": ["alt+r"], "command": "toggle_regex", "context": 652 [ 653 { "key": "setting.is_widget", "operator": "equal", "operand": true } 654 ] 655 }, 656 { "keys": ["alt+w"], "command": "toggle_whole_word", "context": 657 [ 658 { "key": "setting.is_widget", "operator": "equal", "operand": true } 659 ] 660 }, 661 { "keys": ["alt+a"], "command": "toggle_preserve_case", "context": 662 [ 663 { "key": "setting.is_widget", "operator": "equal", "operand": true } 664 ] 665 }, 666 667 // Find panel key bindings 668 { "keys": ["enter"], "command": "find_next", "context": 669 [{"key": "panel", "operand": "find"}, {"key": "panel_has_focus"}] 670 }, 671 { "keys": ["shift+enter"], "command": "find_prev", "context": 672 [{"key": "panel", "operand": "find"}, {"key": "panel_has_focus"}] 673 }, 674 { "keys": ["alt+enter"], "command": "find_all", "args": {"close_panel": true}, 675 "context": [{"key": "panel", "operand": "find"}, {"key": "panel_has_focus"}] 676 }, 677 678 // Replace panel key bindings 679 { "keys": ["enter"], "command": "find_next", "context": 680 [{"key": "panel", "operand": "replace"}, {"key": "panel_has_focus"}] 681 }, 682 { "keys": ["shift+enter"], "command": "find_prev", "context": 683 [{"key": "panel", "operand": "replace"}, {"key": "panel_has_focus"}] 684 }, 685 { "keys": ["alt+enter"], "command": "find_all", "args": {"close_panel": true}, 686 "context": [{"key": "panel", "operand": "replace"}, {"key": "panel_has_focus"}] 687 }, 688 { "keys": ["ctrl+alt+enter"], "command": "replace_all", "args": {"close_panel": true}, 689 "context": [{"key": "panel", "operand": "replace"}, {"key": "panel_has_focus"}] 690 }, 691 692 // Incremental find panel key bindings 693 { "keys": ["enter"], "command": "hide_panel", "context": 694 [{"key": "panel", "operand": "incremental_find"}, {"key": "panel_has_focus"}] 695 }, 696 { "keys": ["shift+enter"], "command": "find_prev", "context": 697 [{"key": "panel", "operand": "incremental_find"}, {"key": "panel_has_focus"}] 698 }, 699 { "keys": ["alt+enter"], "command": "find_all", "args": {"close_panel": true}, 700 "context": [{"key": "panel", "operand": "incremental_find"}, {"key": "panel_has_focus"}] 701 }, 702 703 // HTML, XML close tag 704 { "keys": ["/"], "command": "close_tag", "args": { "insert_slash": true }, "context": 705 [ 706 { "key": "selector", "operator": "equal", "operand": "(text.html, text.xml) - string - comment", "match_all": true }, 707 { "key": "preceding_text", "operator": "regex_match", "operand": ".*<$", "match_all": true }, 708 { "key": "setting.auto_close_tags" } 709 ] 710 } 711 ]
设置浏览快捷键:
也是点击首选项-按键绑定(用户)[settings_user],输入如下代码保存即可
1 [ 2 {"keys": ["alt+shift+f"], "command": "reindent"},{"keys":["ctrl+b"],"command":"open_in_browser"} 3 ]
代码的意思是按 Ctrl+b 浏览
下载地址:http://pan.baidu.com/s/1kVOOTiJ
密码:ewwx