notepad++无一键批量转换大小写功能,需按场景选择操作:选中则转选区,未选中则仅转光标所在整行;全文转换须通过菜单edit→convert case to并确认;引号内内容需正则替换;多文件处理依赖宏且需人工控制节奏。

Notepad++ 没有“批量转换字母大小写”的一键按钮,所谓“批量”必须明确范围:是单文件内全文?选区?某类上下文(如引号内)?还是多个文件?不同场景对应完全不同的操作路径,用错就白忙活。
Ctrl+U 和 Ctrl+Shift+U 到底作用于什么范围
这两个快捷键的行为高度确定,但常被误解:
- 有选中文本 → 只转换选中部分
- 没选中 → 只转换光标所在**整行**(不是全文!不是当前单词!)
- 该行不含 ASCII 字母(如空行、
// 注释、12345、-----)→ 看起来“没反应” - 文档为只读状态(如日志被其他进程占用)→ 操作静默失败,不报错
- 处于列编辑模式(
Alt+ 鼠标拖选)→Ctrl+U直接失效,切回普通选中即可
想全文转换?别乱按 Ctrl+U,走菜单确认流
唯一安全触发全文大小写的入口是顶部菜单,它会弹出确认框:
- 未选中时,点
Edit → Convert Case to → Upper Case→ 弹出提示:“是否对整篇文档执行?” → 点“是”才真转全文 -
Ctrl+Shift+U在未选中时**不会弹窗**,仍只动当前行,极易误判 - 同理,全文小写用
Edit → Convert Case to → Lower Case,而非盲目连按Ctrl+U - 该操作只处理 ASCII 字母(
a–z/A–Z),café中的é、中文、emoji 全部跳过
要改 class="Btn Primary" 这种引号内内容?正则 + \L/\U 是唯一解
快捷键无法识别 HTML 属性边界,必须用 Ctrl+H 配合 Notepad++ 特有语法:
- 打开
Search → Replace(Ctrl+H),勾选Regular expression - 查找:
class="([^"]*)"→ 替换:class="\L\1"(全部小写) - 查找:
id="([^"]*)"→ 替换:id="\U\1"(全部大写) -
\L和\U**只对紧邻的捕获组生效**:\L\1有效,\L$1或\L\0会原样输出字符串 - 非
UTF-8编码(如 GBK)下,带重音符的词(naïve)可能被跳过或乱码 —— 动手前务必点Encoding → Convert to UTF-8
多个文件一起转?宏能用,但节奏必须人工卡死
Notepad++ 不支持“对所有打开文件执行”,宏只是机械复现你录的动作:
- 先
File → Open多选目标文件(支持Ctrl+多选),数清共N个标签页 - 确保第一个标签页激活 →
Ctrl+Shift+R开始录制 →Ctrl+A→Ctrl+U→Ctrl+Tab→Ctrl+Shift+R停止 - 播放前:只按
Ctrl+Shift+P共N−1次(最后一次不用切标签,否则切到空白页报错) - 录制中切勿 Alt+Tab 或鼠标点其他窗口,否则宏混入错误动作
- 若文件含 BOM 或混合编码,建议统一转
UTF-8后再跑宏,否则部分字符可能被跳过
真正容易被忽略的是:所有转换逻辑都依赖 Scintilla 对字符的解析能力,而它只认 ASCII 字母;编码不对、正则写错一个空格、宏多播一次——三个地方任一出错,结果就不可逆。动手前看一眼状态栏右下角的编码和语言模式,比反复重试更省时间。











