notepad++大小写转换用ctrl+u转小写、ctrl+shift+u转大写,仅作用于选中文本或光标所在行;未选中时若该行无字母则无效,不支持跨文件批量或上下文条件转换。

Notepad++ 里大小写转换不是靠插件,也不是靠设置开关,而是两个固定快捷键直接生效——Ctrl+U 转小写,Ctrl+Shift+U 转大写。但很多人按了没反应,问题通常出在没选中文本、快捷键被覆盖,或误点了右键菜单。
为什么按 Ctrl+U 没反应?
最常见原因是:没选中任何文本,且光标不在纯字母行上(比如在空行、注释行或数字开头的行)。Notepad++ 的大小写转换逻辑是:
- 有选中 → 只处理选中内容
- 没选中 → 处理光标所在整行(注意:仅当前行,不是全文)
- 该行全为空格、制表符、换行符或非字母字符 → 实际无变化,看起来像“没反应”
另外,部分定制版 Notepad++ 或手动改过快捷键的用户,可能 SCI_LOWERCASE 命令已被绑定到其他组合键。可进 Settings → Shortcut Mapper → Scintilla commands,搜索 SCI_LOWERCASE 和 SCI_UPPERCASE 确认绑定是否仍为默认值。
想批量把所有 class="XXX" 里的 XXX 转小写,能用快捷键吗?
不能。快捷键只作用于选区或单行,不识别上下文结构。这种带 HTML 属性的场景必须用正则替换:
- 打开
Ctrl+H,勾选「正则表达式」 - 查找目标填:
class="([^"]*)" - 替换为:
class="\L\1"(\L表示小写化捕获组) - 点「全部替换」
注意:\L 和 \U 是 Notepad++ 特有的替换语法,不是通用正则;如果替换后出现乱码,检查文档编码是否为 UTF-8(菜单栏底部显示),非 UTF-8 编码下部分 Unicode 字符可能无法正确转大小写。
多个文件一起转大小写,有原生方案吗?
没有。Notepad++ 不支持跨文件批量大小写操作。所谓“批量”,实际是靠人工串联动作:
- 先用
File → Open批量打开目标文件(支持 Ctrl+多选) - 录制宏:选中一段文字 → 按
Ctrl+U→Ctrl+Tab切到下一标签页 - 停止录制后,用
Ctrl+Shift+P播放一次 → 自动执行一遍上述动作
关键限制:宏不会自动停在最后一个文件,播到空标签页会报错;也不能判断当前文件是否已处理过。所以更适合预知文件数量、且结构一致的场景(比如 5 个日志文件,每份都需统一转小写)。
真正容易被忽略的是编码影响——哪怕你用对了快捷键、正则也写对了,如果文档是 ANSI 编码(尤其含中文 Windows 系统默认),某些带重音符号的英文单词(如 naïve、résumé)可能无法正确转大小写,因为 ANSI 下这些字符被当作了双字节乱码处理。遇到这类情况,先另存为 UTF-8 编码再操作。











