Ctrl+Shift+U默认只作用于选中内容或光标所在行,未选中时不会全文转换;全篇转大写需先Ctrl+A全选再按键,或通过菜单触发并确认提示。

Ctrl+Shift+U 为什么只转了一行?
它默认只处理选中内容,没选中时只作用于光标所在行——不是全文。想全篇转大写,得先按 Ctrl+A 全选,再按 Ctrl+Shift+U;或者直接点菜单 Edit → Convert Case to → UPPER CASE,没选中时会弹提示问“是否对整篇文档执行”。
正则替换批量转 class 属性值为大写
原生命令无法识别 HTML 上下文,必须用正则:
- 打开
Ctrl+H,勾选「正则表达式」 - 查找填:
class="([^"]*)" - 替换填:
class="\U\1"(注意\U和\1之间不能有空格) -
\U是 Notepad++ 特有语法,只对捕获组生效,不支持\U$1或\U\0 - 替换前先点「全部查找」确认匹配范围,避免误改
data-class或注释里的 class 字符串
批量处理多个文件时宏容易卡在哪
Notepad++ 没有原生跨文件批量大小写功能,靠宏模拟时常见断点:
- 宏录制后按
Ctrl+Shift+P播放一次,只切一个标签页,不会自动停在最后一个文件 - 播到空标签页会报错,需提前数清文件数,手动控制播放次数
- 列编辑模式(
Alt + 鼠标拖选)下Ctrl+Shift+U不响应,必须切回普通选中 - 若文档编码是 ANSI(尤其 Windows 默认),含重音符号的英文(如
café)可能被跳过或乱码,建议先统一转为UTF-8
为什么 \U\1 替换后变成字面字符串
因为你在「普通模式」或「扩展模式」下用了正则,但没勾选「正则表达式」——\U 和 \L 只在正则引擎启用时才被识别。另外:
- Notepad++ 不支持 Perl 风格的
\U$1,只能用\U\1 - 如果替换框里写了空格,比如
class="\U \1",\U后的空格会让它失效,后面内容原样输出 - 状态栏右下角显示的编码如果不是
UTF-8或UTF-8 with BOM,部分 Unicode 字符可能无法参与转换,但不会报错,只是静默跳过


















