Sublime Text大小写转换需两步:先按Ctrl+K(Win/Linux)或Cmd+K(macOS)松手,再按U/L/C/S键;连按无效,常见失效原因包括连按不松手、只读模式、中文输入法、插件劫持及光标位于字符串或注释内。

Sublime Text 里大小写转换不是“按一个快捷键就完事”,必须分两步:先按 Ctrl+K(Windows/Linux)或 Cmd+K(macOS),松手,再单独按 U(大写)、L(小写)、C(标题式)或 S(互换)——连按不松手,命令根本不会触发。
为什么 Ctrl+K+U 按了没反应?
这不是快捷键坏了,而是触发条件没满足:
- 连按
Ctrl+K+U不松手 → 系统识别为Ctrl+K, Ctrl+K(删到行尾)或其他冲突命令 - 文件右下角显示
RO(只读)→ 转换静默失败,无提示 - 输入法处于中文状态(尤其搜狗、微软拼音)→
Ctrl+K被系统拦截,后续键无效 - 插件劫持前缀键:比如启用
Vintage模式或Emacs Pro Essentials,Ctrl+K已被重绑为删行 - 光标落在字符串字面量或注释内,且当前语法高亮模式(如 Python、HTML)默认跳过该区域
Ctrl+K 后接哪些键对应什么功能?
这套组合键覆盖绝大多数日常需求,全平台逻辑一致(仅主键不同):
-
Ctrl+K→U:执行upper_case,选区或光标所在单词转大写 -
Ctrl+K→L:执行lower_case,同上转小写 -
Ctrl+K→C:执行title_case,按空格分词,每个词首字母大写(hello world→Hello World) -
Ctrl+K→S:执行swap_case,大小写字母互换(HeLLo→hEllO)
注意:title_case 对 don't、user-name、apiV2 完全无效,它不识别撇号、连字符或驼峰边界。
多光标、多行、整行转换怎么操作?
原生快捷键天然支持多光标和多选区,但粒度严格受限于“选区”本身:
- 用
Ctrl+D多次选中相同变量名(如所有user_name),再执行Ctrl+K→U,每个选区独立转大写 - 鼠标拖选多行或
Ctrl+A全选后执行Ctrl+K→L,结果是每行各自转换,不会跨行合并或对齐格式 - 想整行转大写?快捷键做不到——必须开
Ctrl+H,勾选Regular Expression,Replace With 填\U$0\E - 光标停在
user_name中任意位置(未选中),Ctrl+K→U只转整个user_name(下划线被视为单词一部分),不会拆成UserName
正则替换里大小写控制符怎么写才不翻车?
在 Ctrl+H 替换面板中启用正则(点 .* 按钮)后,大小写符号才生效,且 \U 和 \E 必须配对:
-
\U$0\E:整个匹配项转大写($0表示全部匹配) -
\u$1:仅捕获组 1 的首字符大写(注意是小写u,不是\U) -
\l$2:仅捕获组 2 的首字符小写(小写l,不是数字1) - 错误写法:
\U$1漏掉\E→ 从捕获组开始直到行尾所有文本都被强制大写,极难察觉
真正容易被忽略的是:原生命令从不区分语义上下文——字符串、注释、代码关键字,只要在选区内,一律照转。批量处理 JSON key 或 HTML 属性前,务必人工核对引号内内容是否被误伤。


















