atom全局搜索默认不区分大小写,ctrl+shift+f打开的“find in project”面板初始状态即忽略大小写;若误点右下角aa按钮则开启区分,该状态仅对当前会话有效,关闭后重开即恢复默认。

全局搜索默认不区分大小写,但需手动关闭“Match Case”
Atom 的 Ctrl+Shift+F(Windows/Linux)或 Cmd+Shift+F(macOS)打开的「Find in Project」面板,默认就是**不区分大小写**的。你不需要额外设置什么来让它“不区分”,相反——如果你发现它突然区分了,大概率是误点了右下角的 Aa 按钮。
常见错误现象:搜 http 没命中 HTTP 或 Http;搜 TODO 漏掉注释里的 // todo:。这说明 Aa 已被点亮,大小写敏感已开启。
- 每次打开 Find in Project 面板时,
Aa默认处于未激活状态(即不区分大小写),但一旦点过就会记住该状态,下次仍保持开启 - 没有全局开关能“永久禁用大小写敏感”,它只作用于当前搜索会话;关掉面板再重开,又回到默认不敏感
- 若你在正则模式下(
.*图标点亮)写了[Hh][Tt][Tt][Pp]这类表达式,那大小写行为由正则本身控制,Aa按钮失效
局部查找(Ctrl+F)也不区分大小写,但无法关闭/开启
Ctrl+F(当前文件内查找)压根没有大小写开关——它**永远不区分大小写**,且这个行为不可配置。点面板里的 Aa 按钮也无效,那是 Find in Project 的专属控件。
这意味着:console.log、CONSOLE.LOG、Console.Log 在 Ctrl+F 里都会被同一个 log 命中,只要你没开 whole word(勾选“Whole word”后才会严格按单词边界匹配)。
- 不要试图在
Ctrl+F面板里找Aa按钮——它根本不存在 - 如果发现
Ctrl+F看似“区分大小写”,其实是你输错了,比如搜Log却期望匹配log,而实际编辑器里全是小写 - 想精确匹配大小写?只能切到
Ctrl+Shift+F,点亮Aa,再搜
插件如 todo-show 的大小写行为由正则决定
像 todo-show 这类依赖正则扫描的插件,是否区分大小写取决于它内置或你自定义的正则末尾有没有 i 标志。默认规则 /(TODO|FIXME|HACK|XXX):?\s*(.*)$/i 中的 i 就表示忽略大小写。
如果你改了 Custom Pattern 却发现 // todo 不显示了,检查正则末尾是否删掉了 i;或者用了 ^TODO 却忘了加 i,那就只能匹配行首大写的 TODO,漏掉其他变体。
- 自定义正则时,
/todo/i和/TODO/i效果一样;但/TODO/(无i)就只匹配全大写 - 插件不会读取 Find in Project 的
Aa状态,它的大小写逻辑完全独立 - 正则里写
(?i)TODO也能局部开启忽略大小写,但不如统一放在末尾加i清晰
真正容易被忽略的:ripgrep 本身默认不区分大小写
Atom 底层用 ripgrep(rg)做项目搜索,而 rg 命令行默认就是 --ignore-case 行为。也就是说,即使 Atom 界面出 bug,只要 rg 正常工作,全局搜索天然就不区分大小写。
验证方法:终端进项目根目录,执行 rg -n http,看是否返回大小写混杂的结果。如果命令行里也不区分,那 Atom 行为就是对的;如果命令行区分了(比如加了 -s),而 Atom 没区分,说明 Atom 没走 ripgrep 或配置异常。
- 确保
find-and-replace包启用,并勾选了Use ripgrep - 如果
rg --version报 command not found,Atom 会 fallback 到慢的 scandal 实现,但大小写逻辑不变 - 别去改
core.ignoreCase这类不存在的配置项——Atom 没提供这个 setting











