直接按ctrl+u可将选中文本转为小写,未选中时仅作用于光标所在整行;全文转换需先ctrl+a全选再按ctrl+u,但需确保文档非只读、编码为utf-8/ansi且无列编辑模式干扰。

Notepad++ 里怎么把选中的大写字母转成小写
直接按 Ctrl + U,前提是已经选中要转换的文本。这个快捷键是 Notepad++ 内置的「转为小写」功能,不依赖插件、不需正则、也不用写脚本——只要光标在文本里或有选区,它就生效。
常见错误现象:按了没反应。大概率是因为没选中任何内容,或者当前文档处于只读状态(比如被其他程序占用),又或者你误触了 Ctrl + Shift + U(那是转为大写)。
- 必须先手动选中目标文本;全文转换就按
Ctrl + A全选后再按Ctrl + U - 如果文档右下角显示
Read-Only,先解除只读:右键标签页 →Reload from disk或检查文件权限 - 该操作不可跨编码乱用:UTF-8 和 ANSI 下行为一致,但若文档含 GBK 编码的中文,英文字母仍可正常转换,中文字符不受影响
想只改某几列或特定位置的大写字母怎么办
这时候 Ctrl + U 不够用了,得靠列编辑 + 正则替换配合。典型场景:CSV 表头全大写,但只想改第3列;或日志里「ERROR」要变「error」,但不能动「Error」开头的单词。
推荐分两步走:
- 用
Alt + 鼠标拖拽进入列模式,框选出目标列区域,再按Ctrl + U——仅对这块矩形区域生效 - 更精准的控制用正则:
Search → Replace,勾选Match case和Regular expression,查找\b[A-Z]+\b,替换为\L$0(\L是 Notepad++ 特有的小写转换符,$0表示整个匹配) - 注意:
\L在 v7.9+ 才稳定支持,旧版本请升级或改用宏录制
批量处理多个文件时为什么 Ctrl + U 失效
因为 Ctrl + U 是单文档操作,不会自动遍历所有打开的标签页。想一次改完多个文件,得用「在文件中替换」功能,但它默认不提供大小写转换逻辑,所以得绕一下。
实操建议:
- 先把所有目标文件用
File → Open一次性打开(别用拖入方式,避免编码识别错乱) - 切换到任一标签页,按
Ctrl + H→ 点击In all opened documents按钮 - 查找内容填
[A-Z],替换为\L$0,点击Replace All in All Opened Documents - ⚠️ 风险点:这个会把每个大写字母单独转小写,不是按单词转。如果需要保留单词边界,正则得写成
\b[A-Z]+\b,否则像HTTPStatus会变成httpstatus而非httpstatus(其实一样,但语义丢了)
为什么用 Python 脚本反而更麻烦
Notepad++ 自带的 Python Script 插件能调 editor.lower(),但配置成本远高于原生快捷键。除非你已经在做自动化文本清洗流水线,否则没必要引入外部依赖。
真正容易被忽略的点:
-
Ctrl + U对制表符、换行符、空格完全无感,只作用于 ASCII 字母和部分 Unicode 字母(如 À Á Â Ã → à á â ã),但不处理希腊字母或西里尔字母 - 如果你刚从 VS Code 切过来,会习惯性按
Ctrl + Shift + P搜「lowercase」——Notepad++ 没这个命令面板,别白费劲 - 宏录制可以保存
Ctrl + U操作,但重放时仍需提前选中文本,无法全自动











