ctrl+h是唯一需牢记的核心快捷键;其他快捷键均为辅助。用错查找模式(普通/扩展/正则)比记错快捷键更易导致替换失败,且模式切换须手动完成。

Ctrl+H 是唯一需要记住的核心快捷键,其他都是锦上添花;用错模式(普通/扩展/正则)比记错快捷键更容易导致替换失败。
Ctrl+H 打开替换窗口后,必须手动选对查找模式
Notepad++ 默认是「普通模式」,它不识别 \n、^、$ 或捕获组——哪怕你写了 $1 也当字面量处理。实际使用中几乎总要切到另外两种之一:
- 要替换换行符、制表符或回车:勾选「扩展模式」,此时
\n表示 LF,\r\n才匹配 Windows 换行;\t表示 Tab - 要跨行匹配、提取字段、重排结构:必须选「正则表达式」,并注意勾选下方的「. 匹配换行符」才能让
.*穿过换行 - 误用模式的典型现象:
查找内容写了^class却没结果 → 忘了切正则;写了\n却只替换了字母 n → 还在普通模式
跨文件批量替换必须用 Ctrl+Shift+F,不是 Ctrl+H
Ctrl+H 只作用于当前打开的文件,哪怕你开了十个标签页也不会跨文件生效。真正批量改多个文件得用「在文件中查找」:
- 快捷键是
Ctrl+Shift+F,不是Ctrl+H的变体 - 「目录」栏必须填绝对路径,例如
C:\project\src;填./src或留空等于没设 - 「文件过滤器」要严格写成
*.js;*.ts,中间是英文分号,不能有空格,也不能写成*.js, *.ts - 未保存的新建文件(右上角带 * 的标签)不会被纳入扫描范围,这是设计行为,不是 bug
正则替换里保留部分内容,只认 $1 不认 \1
想把 2023-12-25 换成 25/12/2023,就得靠捕获组和反向引用:
- 查找内容填
(\d{4})-(\d{2})-(\d{2}),三个括号分别捕获年月日 - 替换内容填
$3/$2/$1,$0是整个匹配,编号按左括号顺序递增 - 扩展模式下不支持
$1,会原样输出;正则模式下用\1可能失效(旧语法兼容性差) - 常见翻车点:嵌套括号时数错编号,比如
(a(b)c)中b是$2,不是$1
中文乱码或空格异常,大概率是编码切换惹的祸
替换后中文变方块、空格变宽、符号错位,90% 是因为操作前后编码不一致:
- 右下角状态栏显示的是当前文件编码(如
UTF-8、ANSI、UTF-8-BOM),务必确认它和文件真实编码一致 - 在
UTF-8-BOM文件里用其他编码执行替换,可能意外删掉开头的\xEF\xBB\xBF,后续编辑会被识别为 ANSI - 替换前先点「查找全部」预览命中行,尤其检查含中文、特殊符号或换行的上下文是否被误伤
最常被忽略的一点:正则模式下「. 匹配换行符」默认不勾选,但多数多行场景都依赖它;而这个选项藏在查找框底部,每次切换模式都要重新确认。











