ctrl+u和ctrl+shift+u是notepad++唯二原生有效的大小写转换快捷键,仅作用于选中文本或光标所在整行,不支持全文、跨文件或非ascii字符转换。

Ctrl+U 和 Ctrl+Shift+U 是唯二有效的原生快捷键
Notepad++ 里没有“一键 toggle”或“Shift+F3 全局翻转”这种可靠操作——Shift+F3 确实存在,但它只在**有选中文本**时才生效,且仅处理 ASCII 字母(a–z/A–Z),对 café、 naïve 或中文完全无反应。真正稳定可用的只有两个:Ctrl+U(转小写)、Ctrl+Shift+U(转大写)。它们绑定的是 Scintilla 的 SCI_LOWERCASE 和 SCI_UPPERCASE 命令,不依赖插件,也不受语言模式影响。
没选中文本时,行为完全取决于光标位置
很多人按了没反应,不是快捷键失效,而是没理解触发逻辑:
- 有选中 → 只转换选中部分(最安全)
- 没选中 → 只转换光标所在**整行**(不是全文!不是当前段落!)
- 光标停在空行、注释行(如
// TODO)、数字行(如123)或纯符号行(如-----)→ 实际无字母可转,看起来像“没反应” - 若真想全文转换,必须用菜单:
Edit → Convert Case to → Lower Case,未选中时会弹确认框
正则替换才是处理上下文的关键手段
快捷键对 HTML 属性、引号内内容、变量名结构完全无感。比如要把所有 class="Btn Primary" 中引号里的内容转小写,不能靠 Ctrl+U,得用正则:
- 打开
Ctrl+H,勾选「正则表达式」 - 查找填:
class="([^"]*) - 替换填:
class="\L\1(注意:\L必须紧挨\1,中间不能有空格) -
\L和\U是 Notepad++ 特有语法,仅在正则替换中有效;写成\L$1或\L\1(尾部带空格)会原样输出字符串 - 非 UTF-8 编码下,带重音符的字母可能被跳过或乱码,操作前先点
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等动作,宏就会失败 - 混合编码文件建议先统一转为 UTF-8,否则宏播到 GBK 文件时可能静默跳过部分字符
真正容易被忽略的点是:所有操作都严格限于 ASCII 字母,且 \L/\U 在正则中不支持嵌套或条件判断——想把 USER_NAME 转成 userName,得用两层正则,而不是一个快捷键能解决的事。











