ctrl+p是工作上下文跳转中枢,支持模糊匹配路径、文件名和项目名,需预览筛选再确认;ctrl+d多光标需光标置于词内;代码折叠推荐ctrl+shift+[/-]分层控制。

Ctrl+P 不是“搜文件”,而是你的工作入口
别把它当成普通文件打开器——Ctrl+P(macOS 是 Cmd+P)本质是「工作上下文跳转中枢」。它能模糊匹配路径、文件名、甚至项目名,比如输 api 可能命中 src/api/user.js、test/api_test.py、甚至已保存的 myproject.sublime-project。
常见错误是输完就回车,结果打开了错误文件。正确做法:输关键词后按 → 键预览内容(需开启 preview_on_click 设置),或用方向键上下筛选再回车。
- 想快速跳到函数定义?
Ctrl+R(或Ctrl+P后输@)直接列出当前文件所有符号 - 想跨文件找某个类?
Ctrl+Shift+R(或Ctrl+P后输@@)触发项目级符号搜索 - 误关标签页?
Ctrl+Shift+T恢复,但前提是remember_open_files设为true
多光标不是炫技,是处理重复结构的最小单元
Ctrl+D 连按三次选中全部同名变量,看起来简单,但真正卡住人的往往是「光标停在哪」——必须把光标放在词内任意位置,不能在词尾空格或标点上,否则第一次 Ctrl+D 会选中空格或符号,后续匹配就失效。
竖向编辑(如给多行加引号)常用 Alt+鼠标拖拽(Windows/Linux)或 Cmd+Shift+鼠标拖拽(macOS),但更稳的方式是先选中多行,再按 Ctrl+Shift+L(macOS 是 Cmd+Shift+L)把每行拆成独立光标,避免拖拽偏移。
- 批量删字段值?先
Ctrl+F输入:,按Alt+Enter全选冒号后内容,再按Delete - 多光标状态下误删?立刻按
Ctrl+U软撤销,比Ctrl+Z更精准回退光标操作 - 想跳过某次匹配?按
Ctrl+K跳过当前,继续匹配下一个
代码折叠快捷键要分层用,别一上来就 Ctrl+K Ctrl+0
Ctrl+K Ctrl+0 折叠所有顶层块,适合概览结构;但日常高频操作其实是 Ctrl+Shift+[(折叠当前块)和 Ctrl+Shift+](展开当前块)。光标只要落在函数、if 块、HTML 标签内部,就能精准控制粒度。
容易被忽略的是 HTML 属性折叠:Ctrl+K Ctrl+T 可把 <div class="foo" id="bar" data-test="123"> 缩成 <code><div ...>,大幅减少视觉干扰,尤其在写模板时。
<ul>
<li>想只折叠 import/export 模块?把光标放进去,按 <code>Ctrl+Shift+[ 即可,不用全文件折叠
Ctrl+K Ctrl+1 到 Ctrl+K Ctrl+9 控制折叠深度,但实际用 1 和 9 就覆盖 95% 场景自定义快捷键前,先确认命令名是否真实存在
很多人复制网上的 "command": "duplicate_line" 却无效,原因往往是命令名拼错或版本不兼容。最可靠的方式是打开控制台 Ctrl+`,输入 sublime.log_commands(True),然后手动执行一次目标操作(比如点菜单里的「复制行」),控制台会输出真实命令名,比如 duplicate_line 或 run_macro_file。
写进 User.sublime-keymap 时,JSON 必须严格合法:逗号不能多也不能少,字符串用双引号,keys 数组里每个键名要小写且用加号连接(如 "ctrl+shift+d")。
- 删除整行建议用内置命令
delete_line,而非调用 macro 文件,更稳定 - 避免和系统快捷键冲突,比如
Ctrl+~在某些终端里会被截获,换用Ctrl+Alt+T - 加
context字段可限定生效场景,例如只在非 widget 窗口触发:{"key": "setting.is_widget", "operator": "equal", "operand": false}
Ctrl+P)、结构编辑(Ctrl+D/Ctrl+Shift+L)、代码折叠(Ctrl+Shift+[),比背二十个冷门快捷键更实在。











