Notepad++大小写转换用Ctrl+U(小写)和Ctrl+Shift+U(大写),位于「编辑→转换大小写」菜单,仅作用于选中文本或光标所在行,依赖文档编码与语言模式,不支持正则批量上下文转换。

Notepad++ 里大写小写切换用哪个菜单项
直接按 Ctrl + U 是转为小写,Ctrl + Shift + U 是转为大写——这两个快捷键绑定在「编辑 → 转换大小写」子菜单里,不依赖插件,开箱即用。
常见错误是选中文字后右键点「转换大小写」,结果没反应:Notepad++ 的右键菜单默认不显示这个选项,必须从顶部菜单栏手动点进去,或者记住快捷键。
- 只对当前选中文本生效;没选中时,会作用于光标所在行(不是整篇文档)
- 不支持正则批量匹配后统一转大小写(比如把所有
class="xxx"里的xxx全转小写),得先用「查找 → 替换」配合正则提取再手动处理 - 中文、数字、符号不受影响,只动英文字母
为什么 Ctrl+U 有时没反应或转错
本质是 Notepad++ 按当前文档的「语言模式」决定是否启用大小写转换。如果状态栏右下角显示的是 Normal text 或 Plain text,Ctrl + U 依然可用;但若显示 XML、HTML 等结构化语言,它仍能工作——真正卡住的情况只有两种:
- 文档编码不是 UTF-8 / ANSI / UTF-8-BOM 中的一种(比如用了 GBK 且含特殊字符,偶尔触发内部判断异常)
- 你启用了「宏」并把
Ctrl + U录进了某个宏,此时快捷键被劫持,优先执行宏而不是转换 - 极少数旧版(如 v7.5.6 之前)在「列编辑模式」(Alt+鼠标拖选)下,
Ctrl + U会静默失败,切回普通选中即可
想批量处理多处匹配文本,比如把所有引号内单词转小写
Notepad++ 原生命令做不到「按上下文条件转大小写」,必须组合使用「查找 → 替换」和大小写转换。
例如要把 HTML 中所有 class="Btn Primary" 里的单词转小写,步骤是:
- 打开「查找 → 替换」,勾选「正则表达式」
- 查找目标填:
class="([^"]*)" - 替换为:
class="\1",点击「全部替换」前先点「在下方查找」确认匹配正确 - 用鼠标或
Ctrl + F逐个选中引号内的内容(或用「扩展选择」→「选择括号内内容」快速定位),再按Ctrl + U
注意:不能直接在替换框里写 \L\1 这类 Perl 风格的大小写控制符——Notepad++ 的正则引擎不支持 \L、\U 等转义,强行写进去只会原样输出。
插件方案靠谱吗?比如 Python Script 或 TextFX
TextFX 已停止维护,v7.9+ 版本默认不兼容,强行安装容易导致崩溃;Python Script 插件虽能写逻辑,但要实现「选中区域按单词首字母大写」这类需求,得手写正则 + 字符串方法,实际效率不如人工分段 Ctrl + U。
真有复杂需求(比如「驼峰转下划线」或「SQL 关键字高亮后批量转大写」),更稳的路径是导出文本到 VS Code 或 Sublime Text,用它们的插件处理完再粘回来——Notepad++ 的核心优势是轻量和实时响应,不是文本智能变换。
容易被忽略的一点:大小写转换不会改变文档的换行符类型(\r\n 还是 \n),也不会触发布尔值重排或自动缩进,它就是纯字符映射,别指望它帮你修格式。










