ctrl+p搜不到函数或跳不到行号,是因为右下角语法未匹配(如js文件显示plain text)且符号索引未完成(状态栏显示indexing…时输入无效),需手动切换语法并等待索引就绪。

Ctrl+P 能搜到函数、跳转行号、匹配 ID,前提是右下角语法正确且索引已完成;否则输 @init 或 :42 就没反应。
为什么 Ctrl+P 搜不到函数或跳不到行?
不是快捷键坏了,而是两个底层条件没满足:
– 右下角显示的语法必须匹配文件内容,比如 JS 文件得是 JavaScript,不是 Plain Text;
– 首次用 @ 或 # 前缀时,Sublime 会后台索引符号,状态栏显示 Indexing... 期间输入无效,得等它消失再试。
快速修复:Ctrl+Shift+P → 输入 ssjs(JS)、sshtml(HTML)、ssjson(JSON)回车切换。
Ctrl+D 和 Alt+F3 都能多选,但千万别混用
Ctrl+D 是增量控制,Alt+F3 是全量爆破——行为相反,混用极易改崩配置。
– 想只改前 3 处 user_id?连按 3 次 Ctrl+D,它会跳过注释里同名字符串;
– 误触 Alt+F3 后别狂按 Esc,残留光标会导致粘贴错位;更稳的是先按 Ctrl+U 软撤销;
– 想跳过当前已选中的匹配项?按 Ctrl+K, Ctrl+D 继续往下选;
– Ctrl+D 在查找面板开启正则后仍可逐个加选;Alt+F3 对正则完全无效。
Ctrl+Shift+L 不是“选多行”,是“在每行末加光标”
这个快捷键常被误解为多行选择工具,其实它只做一件事:把已有选区拆成多个独立光标,全部落在各行末尾。
– 必须先选中多行(比如用 Ctrl+L 连按或鼠标拖选整行),再按 Ctrl+Shift+L 才生效;
– 某行结尾有空格?光标会落在空格后,删空格前建议先按 End 定位,否则可能误删代码;
– 拆完光标后统一缩进?别用 Tab(只影响第一行),用 Ctrl+] 批量向右缩进;
– 配合查找替换更灵活:查 $(行尾锚点)→ 替换为 ,,就能给每行末尾加逗号。
Ctrl+/ 注释失败,90% 是语法识别错了
Ctrl+/ 的行为完全由当前文件的语法定义驱动,不是通用逻辑。
– JS 文件插 //,Python 插 #,HTML 插 <!-- -->;一旦右下角显示 Plain Text,按了也白按;
– .conf 文件被识别为 Plain Text?按 Ctrl+/ 可能无反应或插入非法符号;
– 修复方式:右键 → Set Syntax 手动选对类型,或 Ctrl+Shift+P 输入 ssjson/ssyaml 快速切换;
– 块注释用 Ctrl+Shift+/,但想聚焦首行写说明得用 Ctrl+Alt+/。
真正卡住人的从来不是快捷键记不住,而是右下角那个小小的语法标签——它不动声色地决定着 Ctrl+P 能不能搜到函数、Ctrl+D 会不会跳过注释、Ctrl+/ 插出来的是 // 还是乱码。索引未就绪时硬输 @ 前缀,和语法错配时狂按 Ctrl+/,效果一样:看起来什么都没发生。











