notepad++大小写转换严格依赖选中状态、编码格式和操作路径;未选中文本时仅处理光标所在整行,非utf-8编码或列编辑模式下快捷键失效,且仅转换ascii字母。

Notepad++ 大小写转换不是“按一下就全变”,而是严格依赖选中状态、编码格式和操作路径——用错条件,快捷键就静默失效。
Ctrl+U 和 Ctrl+Shift+U 为什么经常没反应
这两个快捷键根本不是“全局生效”,它们的行为由两个硬性条件决定:
- 没选中文本时,只处理光标所在整行(不是全文,也不是当前单词);如果该行是空行、
// 注释、123或-----,那就真没字母可转,看起来像“失灵” - 文档编码不是
UTF-8、ANSI或UTF-8-BOM时(比如GBK),含重音符的英文(如café、naïve)会被跳过或乱码,不是 bug,是 Scintilla 底层限制 - 你正处在列编辑模式(
Alt + 鼠标拖选),快捷键会静默失败;切回普通选中即可 -
Ctrl+U或Ctrl+Shift+U被宏录制占用:进Settings → Shortcut Mapper → Scintilla commands,搜SCI_LOWERCASE和SCI_UPPERCASE,确认绑定仍是默认组合键
想把 class="Btn Primary" 里的 Btn Primary 转小写,不能靠快捷键
原生命令不识别 HTML 属性边界,必须用正则替换配合 \L 控制符:
- 打开
Ctrl+H,勾选Regular expression - 查找填:
class="([^"]*)"(捕获引号内所有非引号字符) - 替换为:
class="\L\1"(注意:\L必须紧挨\1,中间不能有空格;写成\L $1或\L\0会字面输出) - 点
全部替换前,先点在下方查找确认匹配是否准确 - 文档编码必须是
UTF-8,否则\L对带重音符的字母无效
批量处理多个文件,只能靠宏,但节奏必须自己控
Notepad++ 没有“对所有打开文件执行”的按钮,宏是唯一原生路径,但它不会自动停:
- 先用
File → Open多选所有目标文件(支持Ctrl+多选),数清共N个标签页 - 确保第一个标签页激活,按
Ctrl+Shift+R开始录制 →Ctrl+A→Ctrl+U→Ctrl+Tab→ 再按Ctrl+Shift+R停止 - 播放前,只按
Ctrl+Shift+P共N−1次(最后一次不用切标签,否则切到空白页报错中断) - 录制过程中切勿切换窗口焦点(比如 Alt+Tab 切到浏览器),否则宏会混入错误动作
- 若文件编码不一致,建议先统一执行
Encoding → Convert to UTF-8再跑宏
真正容易被忽略的是:它永远只动 ASCII 字母
Ctrl+U、Ctrl+Shift+U、\L、\U 全部只处理 a–z / A–Z 范围内的字符。中文、数字、下划线、连字符、emoji、德语 ü、俄语字母、希腊字母 α,全都不参与转换——这不是遗漏,是 Scintilla 的设计边界。动手前看一眼状态栏右下角的编码和语言模式,比反复按快捷键更省时间。











