sublime text多光标编辑核心技巧:ctrl+d逐词匹配易漏变体,quick find all(cmd+enter)全量选中需注意触发方式,find in files(ctrl+shift+f)跨文件替换须严格过滤路径。

Ctrl+D 逐个加选相同词,但容易误操作漏掉
Sublime 的 Ctrl+D 是最常用的手动多选方式:光标停在某个词上,按一次选中当前匹配项,再按就跳到下一个相同词并选中。但它依赖「当前光标所在词的完整匹配」,且不区分大小写(默认),容易跳过你没注意到的变体。
- 如果词被部分选中(比如只选了变量名一半),
Ctrl+D会以选中部分为单位查找,不是按完整单词——先Esc清空选区再开始 - 遇到驼峰命名如
userName和userAge,单独按Ctrl+D可能只选中user这个子串,得用Ctrl+Cmd+G(macOS)或Ctrl+Alt+G(Win/Linux)全量匹配整个单词 - 想跳过某些匹配?按住
Ctrl点击即可手动取消某个选区,不用重来
Quick Find All(Ctrl+Cmd+F / Ctrl+Alt+F)真正批量选中所有匹配
这是最接近“全文找相同文本并一键全选”的操作,但很多人点开搜索框后直接回车,结果只高亮没选中——关键在最后一步是否触发“Find All”。
- 输入要找的文本后,别急着按
Enter,先按Alt+Enter(Win/Linux)或Cmd+Enter(macOS);或者点击搜索框右下角的Find All按钮 - 它默认区分大小写和全字匹配,如果想匹配
log但不想选中logging,确保勾选了Whole Word(Alt+W切换) - 正则开启后(
Alt+R),.、*会生效,但Find All仍只作用于当前视图;如果文件超大,可能卡顿,建议先缩小搜索范围(比如限定在某段代码块内)
多光标编辑时粘贴内容不同,得靠剪贴板历史或变量插入
用 Ctrl+D 或 Find All 多选后,直接 Ctrl+V 会把同一段内容贴到每个光标位置。但如果你需要每个位置贴不同值(比如递增编号、文件名、行号),原生不支持自动填充。
- 手动方案:用
Ctrl+Shift+P调出命令面板,输入Insert Number,可插入从 1 开始的连续数字;或用Insert File Name插入当前文件名 - 进阶方案:安装插件
TrailingSpaces或Text Pastry,后者支持列编辑+自定义序列,但注意 Sublime Text 4 已内置部分类似能力(如Ctrl+Shift+L拆分选区为行,再用Ctrl+Shift+↑/↓移动光标) - 别忘了:多光标状态下按
Esc会直接退出多选,所有光标消失——想保留部分选区?先用鼠标拖选一个,再Ctrl+Click加其他
跨文件批量替换相同文本,Find in Files 更稳但易忽略路径过滤
单文件里用 Find All 很快,但真要改整个项目里的 console.log 为 debug,必须用 Ctrl+Shift+F(Find in Files)。问题常出在“搜到了不该搜的文件”。
- 搜索前务必填好
Where栏:比如只搜src/**/*.js,避免扫到node_modules或dist目录;支持 glob 语法,!node_modules也能排除 - 替换前先点
Find预览结果,确认匹配数量和上下文是否合理;误点Replace All后只能Ctrl+Z撤销,且不能跨文件批量撤 - 正则替换时,
$1引用捕获组没问题,但\1在 Sublime 里不生效——必须用美元符语法;另外,换行符要用\n,不是\r\n(即使文件是 Windows 换行)
Find in Files,漏写 Where 过滤条件,一秒钟就能改坏二十个配置文件。










