ctrl+d选不全css/js路径因默认全字匹配且需光标在词内;双击干净路径片段(如main.js)、关闭大小写敏感、用正则查找面板(src=["'](1+)["'])配合ctrl+alt+enter精准定位引号内值。"' ↩

Ctrl+D 选不全 CSS/JS 路径?双击 + 全字匹配是前提
静态资源路径(如 src="js/main.js"、href="css/reset.css")常含斜杠、点、下划线,Ctrl+D 默认只从当前光标所在「完整单词」出发匹配,且严格区分大小写和边界。若只是把光标停在 main 中间,它就只搜 main,漏掉 main.js;若双击时带了引号或空格,匹配直接失败。
务必做到:
- 双击整个路径片段(如
main.js),确保高亮区域干净,不含"、=、空格或前后斜杠 - 检查查找面板右上角是否亮起
Aa(大小写敏感),误开会导致Reset.css不被选中;按Ctrl+Alt+R切换 - 路径含点号(如
app.v2.min.js)时,.是正则元字符,Ctrl+D仍按字面匹配,但后续用正则替换时需写成app\.v2\.min\.js
Ctrl+Shift+L 拆行后光标乱飘?先确认选区含换行符
想批量给 10 行 HTML 的 src 值加版本号(如 ?v=1.2.3),常先鼠标拖选这 10 行再按 Ctrl+Shift+L——结果只出一个光标,或光标落在行尾空格后,一输内容就把缩进顶歪。
根本原因:Ctrl+Shift+L 只把「已选中文本」按 \n 切开,每段末尾放一个光标。拖选时视觉上像选中了整行,实际最后一行末尾可能没覆盖到换行符。
安全做法:
- 改用
Ctrl+L连续点击目标行(每按一次选一行),再统一按Ctrl+Shift+L,确保每行都被显式纳入选区 - 拆完立刻按
Home:所有光标跳到各自行首(含缩进);再按一次Home,跳过缩进到真正行首,此时输入?v=1.2.3才对齐 - 若某行结尾有空格或
\r\n,光标会卡在不可见字符上;执行Ctrl+Shift+P→Trim Trailing White Space清理后再操作
正则 Ctrl+Alt+Enter 定位路径值最稳,但捕获组不能错
当路径结构不统一(如有的写 src="js/a.js",有的写 ),靠 Ctrl+D 或 Ctrl+Shift+L 都容易漏项。Ctrl+H 开正则 + Ctrl+Alt+Enter 是唯一能精准锚定「引号内路径」的方案。
关键在正则写法和捕获组设置:
- 打开查找面板,启用
Regular expression,输入:src\s*=\s*["']([^"']+)["'](匹配src属性值) - 点
Find All,确认下方预览区高亮的是所有路径本身(如js/main.js),不是整行 - 按
Ctrl+Alt+Enter,光标只落在每个$1捕获组位置——即引号内部,不会误触属性名或注释 - 此时输入新路径,或按
Ctrl+Shift+→选中整个单词再删改;若要加前缀(如/static/),直接输即可,所有光标同步响应
替换后光标消失?必须关掉 swap_selection_on_replace
用 Ctrl+H 替换完一批路径,以为可以继续批量编辑,结果所有光标没了,只剩主光标——这是 Sublime 默认行为:Replace All 后自动清除额外光标。
这不是 bug,是设计如此,但严重影响连续操作流。解决只需一行配置:
- 打开
Preferences → Settings – User - 添加:
"swap_selection_on_replace": false - 保存,重启 Sublime(部分版本需重启生效)
此后所有 Replace All 操作完成后,多光标状态完整保留,可立刻接 Home、End 或继续输入,不用反复重选。
真正难的不是怎么加光标,而是加完之后,得看清它到底落在引号里、属性名上,还是注释中间——静态资源路径一旦改错位置,页面当场白屏,连 console 都来不及报错。











