Sublime Text大小写转换需先按Ctrl+K(Windows/Linux)或Cmd+K(macOS)松开后再按Ctrl+U/L(大写/小写),非三键连按;未选中文本时仅作用于光标所在单词,多行选中则逐行独立处理。

Ctrl+K不是组合键,是命令前缀
Sublime Text 的大小写转换不靠三键连按,Ctrl+K(Windows/Linux)或 Cmd+K(macOS)本身不执行任何操作,它只是告诉编辑器:“接下来的按键,请当作一个大小写子命令来处理”。很多人按 Ctrl+K+U 没反应,其实是没松手——连按会触发其他命令(比如 Ctrl+Shift+K 删整行),或者被输入法/插件拦截。
正确流程只有两步:Ctrl+K → 松手 → Ctrl+U(大写)或 Ctrl+L(小写)。macOS 用户同理,把 Ctrl 换成 Cmd 即可。
- 没选中任何文本时,命令默认作用于光标所在单词(不是整行,也不是智能识别 camelCase)
- 多行选中时,每行独立转换,不会跨行合并再处理
- 含空格、标点的选区会被整体转换,比如
"Hello World!"→"HELLO WORLD!"
正则替换里 \U 和 \L 必须配 \E 终止
用 Ctrl+H(Cmd+H)打开替换面板,勾选 Regular Expression 后,大小写控制符才生效。但 \U 不是“只转下一个字符”,而是开启“全大写模式”,一旦漏写 \E,后面所有匹配内容甚至非匹配文本都会被强制转大写。
常见错误写法:\U$1 → 整行后续全变大写;正确写法:\U$1\E → 仅捕获组 $1 变大写。
-
\U$0\E:整个匹配项转大写 -
\L$0\E:整个匹配项转小写 -
\u$0:仅首字母大写(注意是\u,不是\U) -
\l$0:仅首字母小写(小写 L,不是数字 1)
title_case 命令不处理连字符和撇号
按 Ctrl+K → Ctrl+C 触发的 title_case 命令很保守:它只按空格切分单词,对 don't、iPhone、multi-word 这类词无感,don't 会变成 Don't(正确),但 multi-word 仍是 multi-word,不会变成 Multi-Word。
如果真要智能标题格式,得靠插件(如 ChangeCase 或 TitleCase),但注意:这类插件通常会覆盖默认的 Ctrl+K Ctrl+C 绑定,装完就得重记快捷键。
- 临时 workaround:用正则
\b([a-z])替换为\U\1,能批量首字母大写,但对已有大写字母无效 - 驼峰、下划线、短横线等命名风格转换,原生不支持,必须装插件
自定义快捷键必须写进 User 配置区
想把大写绑定到 Ctrl+Shift+U?可以,但所有修改都必须加到 Preferences → Key Bindings 右侧的「User」面板里。左侧「Default」是只读系统配置,升级 Sublime 后会被覆盖,改了也白改。
示例配置(粘贴进 User 面板即可):
[ { "keys": ["ctrl+shift+u"], "command": "upper_case" }, { "keys": ["ctrl+shift+l"], "command": "lower_case" } ]
- 命令名必须准确:
upper_case、lower_case、title_case、swap_case - 冲突检测:如果已存在相同快捷键(比如被插件占用),新绑定不会生效,需手动排查
- 改完不用重启,保存即刻生效
真正卡住人的从来不是记不住快捷键,而是每次操作前忘了确认三件事:有没有选中、输入法是不是英文、右下角有没有显示 RO(只读)。漏一个,就白按十次。

















