真正每天用得上的就那五个快捷键:Ctrl+P(模糊搜索)、Ctrl+D(增量多选)、Alt+F3(全量多选)、Ctrl+Shift+L(行末加光标)、自定义快捷键(需正确JSON格式与command名)。

真正每天用得上的就那五个快捷键,练熟就能覆盖80%编辑动作——不是靠数量堆,而是靠理解行为差异。
Ctrl+P 不是“打开文件”,是模糊搜索面板
按 Ctrl+P 后没弹出系统对话框?正常。它启动的是 Sublime 自带的符号/文件搜索面板,响应快、支持前缀语法,比翻标签页快一个数量级。
- 输
@init跳转到当前文件的init函数(首次可能延迟半秒,等右下角状态栏索引完成再输) - 输
#header匹配 HTML 中的id="header"或 JS 中的变量名header - 输
:42直接跳到第 42 行 - 搜不到 JS 函数?先看右下角语法是否为
JavaScript(不是Plain Text),可用Ctrl+Shift+P输入ssjs快速切换 - 输错字符不用全删,用
Ctrl+←/Ctrl+→按词移动光标更准
Ctrl+D 和 Alt+F3 多选行为完全相反
新手改崩配置最常见原因就是混用这两个键:它们底层逻辑根本不同。
-
Ctrl+D是增量控制——光标停在user_id上,按一次选第一个,再按选第二个……适合只改前几处、跳过注释里同名字符串 -
Alt+F3是全量爆破——一按就选中全文所有user_id,不区分上下文,正则模式下也无效 - 想跳过某个匹配项?按
Ctrl+K,Ctrl+D - 误触
Alt+F3后别狂按Esc——残留光标会导致粘贴错位;更稳的是先按Ctrl+U(软撤销)回退光标位置 -
Ctrl+D在查找面板启用正则后仍可逐个加选;Alt+F3对正则完全无效
Ctrl+Shift+L 不是“选多行”,是“每行末加光标”
这个快捷键常被误解为多行选择工具,其实它只做一件事:把已有的选区,拆成多个独立光标,全部落在各行末尾。
- 必须先选中多行(比如用
Ctrl+L连按或鼠标拖选),再按Ctrl+Shift+L才生效 - 典型用途:给 5 行末尾同时加逗号、批量删行尾空格、补分号
- 某行结尾有空格?光标会落在空格后——删空格前建议先按
End定位,否则可能误删代码 - 拆完光标后统一缩进?别用
Tab(只影响第一行),用Ctrl+]批量向右缩进 - 配合查找替换更灵活:查
$(行尾锚点)→ 替换为,,就能给每行末尾加逗号
自定义快捷键必须写对 JSON 格式和 command 名
Sublime 的快捷键不是“修改默认配置”,而是靠在 User.sublime-keymap 里写新规则来覆盖——写对就生效,写错就静默失效,不报错也不提醒。
- 点菜单
Preferences → Key Bindings,左侧是只读的默认配置,右侧是可编辑的User.sublime-keymap;所有自定义都必须写在这里 - 首次打开时右侧常为空,但必须保持合法 JSON 数组格式——哪怕只加一条规则,也得用方括号
[ ]包裹 - 右下角弹红字?八成是 JSON 格式错误:检查逗号是否多写、引号是否闭合、有没有混入中文标点
- command 名不能靠猜:按
Ctrl+Shift+P输入功能关键词(如“delete line”),看到的条目名才是你要的;更准的是开控制台Ctrl+`,输入sublime.log_commands(True),再手动执行目标操作,控制台会输出真实command和args
容易被忽略的点是:语法识别不准确时,Ctrl+P 的符号跳转和 Ctrl+D 的单词匹配都会失效;而 Ctrl+Shift+L 的光标定位精度,取决于你最初选中的行是否干净——空行、缩进不一致、末尾空格,都会让光标落点偏移。

















