Sublime搜索精准依赖Where框路径设置:必须先Open Folder,右键Find in Folder才能自动填入正确路径;支持逗号分隔通配符如.py,.js;排除目录需用-/node_modules/而非-node_modules;批量替换前须确认匹配项并慎用Save on Replace。
Where 框是否自动填对路径Sublime 不会“默认”只搜你正在看的文件夹——它只认 Where 输入框里写的路径。如果你没主动打开文件夹、或右键没点对目标,Where 里可能为空、为 .(当前项目根)、甚至残留上一次的路径,结果就是搜偏了。
Where 才会自动填入完整绝对路径,如 /Users/me/project/src
Ctrl+Shift+F(Win/Linux)或 Cmd+Shift+F(macOS)打开面板,但没提前打开文件夹,Where 很可能为空,这时搜的是整个已加载项目的文件,不是你想要的“指定目录”Where 框写 *.py,*.js 就行不需要进高级设置,也不用装插件。Sublime 的 Where 支持逗号分隔的通配符规则,写法简单但大小写和空格敏感——稍不注意就匹配失败。
./src, *.py, *.js(./src 是路径,后面是包含规则,都生效)./src/*.py(这不是 shell 路径,Sublime 不识别嵌套通配)./src, -*.min.js, -*.log
*.JS 或 *.Py,而实际文件是小写后缀——默认不区分大小写,但若勾选了 Match case 选项,就会漏掉匹配node_modules、__pycache__ 等目录,用 -/node_modules/ 而不是 -node_modules
少一个斜杠,效果天差地别:-node_mo 会误杀所有含
dulesnode_modules 字样的文件名(比如 my_node_modules_config.js),而 -/node_modules/ 明确表示“排除这个子目录及其全部内容”。
-/node_modules/、-/dist/
-*/__pycache__/(注意 */ 开头)., -/node_modules/, -*/.git/, -*.pyc
node_modules 里的字符串(如 "React.createElement"),如果结果里还出现 node_modules/react/...,说明排除规则没写对很多人以为“在搜索面板里改内容只是预览”,其实只要双击某条结果跳转到对应文件位置,再修改、保存,就是真改源码。但如果想批量替换,得回到搜索面板操作,不能靠手动逐个改。
Find 确认所有匹配项都符合预期——尤其注意正则开启时的边界匹配Replace 框支持 $1、$2 引用捕获组,但仅当 Regex 选项已启用Ctrl+Z,所以建议批量替换前先备份或确认 Git 状态干净Replace All 下方的 Save on Replace(如有),或先用 Replace 逐条确认Where 框里那行看似随意的文本——它决定 Sublime 究竟在哪儿找、不找什么、以及最终看到的结果是否可信。路径多一个点、排除少一个斜杠、通配符大小写错位,都会让结果失真,而这种失真往往静默发生,直到你改完才发现漏了关键文件。
# linux
# 字符串
# cos
# win
# macos
# mac
# node
# git
# js
# sublime
# react
# Regex