Notepad++无一键批量转大小写功能,“批量”仅限单文件内选中区域或光标所在行;全文转换须用菜单命令并确认提示,跨文件需宏录制,正则替换支持上下文感知(如class属性值),且仅处理ASCII字母。

Notepad++ 没有“一键批量转大小写”的全局功能,所谓“批量”仅限单文件内选中区域或光标所在行;跨文件、上下文感知(如引号内、属性值)、非 ASCII 字符的处理,必须组合快捷键、正则替换和宏来实现——靠错觉按 Ctrl+U 是最常踩的坑。
Ctrl+U 和 Ctrl+Shift+U 为什么只改了一行?
这两个快捷键的行为完全取决于“有没有选中文本”:
- 有选中 → 只转换选中部分
- 没选中 → 只转换光标所在整行(不是全文!)
- 该行不含 ASCII 字母(比如空行、
// TODO、123=456)→ 看起来“没反应”,实际是逻辑生效但无可见变化
真正触发全文转换的唯一路径是:菜单 Edit → Convert Case to → Lower Case(或 Upper Case),未选中时会弹确认框。别依赖快捷键猜行为。
怎么把 class="Btn Primary" 里的内容全转小写?
原生命令无法识别 HTML 属性边界,必须用正则替换 + Notepad++ 特有语法:
- 按
Ctrl+H打开替换窗口,勾选Regular expression - 查找填:
class="([^"]*)" - 替换填:
class="\L\1"(注意:\L必须紧挨\1,中间不能有空格) -
\L和\U是 Notepad++ 自研语法,只对捕获组生效;\L$1或\L\0会原样输出,不转大小写 - 操作前务必确认状态栏右下角显示
UTF-8或UTF-8-BOM;GBK 编码下含重音符的词(如café)可能被跳过或乱码
多个文件一起转大小写,宏怎么录才不报错?
Notepad++ 不支持自动识别“最后一个文件”,宏只会机械执行你录的动作(Ctrl+A → Ctrl+U → Ctrl+Tab),播到空白标签页必报错:
- 先用
File → Open多选所有目标文件(支持Ctrl+多选),数清共N个标签页 - 确保第一个标签页激活,按
Ctrl+Shift+R开始录制 →Ctrl+A → Ctrl+U → Ctrl+Tab→ 再按Ctrl+Shift+R停止 - 播放前只按
Ctrl+Shift+P共N−1次(最后一次不用切标签) - 别在录制中 Alt+Tab 切窗口,否则宏会混入错误焦点切换动作
最易忽略的细节:大小写转换永远只动 ASCII 字母(A–Z),中文、数字、符号、BOM、emoji、希腊字母全都不变——这不是缺陷,是底层 Scintilla 的设计边界。


















