Sublime没有真正一键大小写转换快捷键,所有内置命令均需先按Ctrl+K(macOS为Cmd+K)松手后再按动作键;同时按下Ctrl+K+U无效,因系统不识别三键连按,且易被输入法或冲突命令拦截。

Sublime 没有真正意义上的“一键”大小写转换快捷键——所有内置大小写命令都依赖 Ctrl+K(macOS 为 Cmd+K)作为前缀,必须松手后再按动作键,否则不生效。
为什么 Ctrl+K+U 同时按没反应
系统根本不会识别 Ctrl+K+U 这种三键连按:Sublime 把 Ctrl+K 当作“命令前缀”,按下后立即进入等待状态;一旦你没松手就继续按 U,它要么被输入法拦截,要么触发其他冲突命令(比如 Ctrl+Shift+K 删整行)。常见表现是光标跳动、文本消失、或完全无反馈。
- 验证方式:打开命令面板(
Ctrl+Shift+P),输入upper_case,执行看是否成功——如果命令面板能用,说明只是快捷键链没触发对 - Windows/Linux 用户注意搜狗、微软拼音等输入法常劫持
Ctrl+K,切英文输入法再试 - macOS 用户检查「系统设置 > 键盘 > 快捷键」里是否有第三方工具占用了
Cmd+K
批量转换变量名或单词的实操要点
多光标是批量改大小写的最可靠路径,比全选+正则更可控,尤其适合改代码中的变量名。
- 把光标停在第一个目标词上,按
Ctrl+D(macOSCmd+D)逐个选中同名变量;或用Ctrl+Shift+L把当前选中内容按行拆成多光标 - 确认所有光标都在要转换的位置后,再执行
Ctrl+K→ 松手 →Ctrl+U(大写)或Ctrl+L(小写) - 注意:转换是覆盖式操作,
iPhone会变成IPHONE,不会保留驼峰逻辑;字符串字面量、注释里的相同词也会被一并改掉
正则替换中 \U 和 \u 的区别与陷阱
在 Find → Replace 面板启用正则(.* 按钮)后,\U 和 \u 才起作用,但规则很严格:
-
\u$1:只把捕获组 $1 的首字母转大写,其余不变(\u是小写 u,不是数字 1) -
\U$1\E:把整个 $1 转大写,\E是必须的终止符;漏掉\E会导致从匹配位置开始,后面所有文本都被强制大写 -
\U在Find in Files(Ctrl+Shift+F)中完全无效,它只会原样输出字符串,不执行任何转换 - 连字符(
-)、撇号(')不会被title_case命令识别为单词分隔符,don't panic→Don't panic(第二个词首字母没大写)
自定义快捷键必须防冲突且写对命令名
想改成 Ctrl+Shift+U 这类更顺手的组合,必须手动加到用户配置区,且不能只靠“记得住”:
- 打开
Preferences → Key Bindings,右侧「User」面板里粘贴类似这样的 JSON:[ {"keys": ["ctrl+shift+u"], "command": "upper_case"} ] - 每次添加前,先在 User 配置里全文搜索
"ctrl+shift+u",避免重复绑定导致行为不可预测 - 命令名必须准确:
upper_case、lower_case、swap_case、title_case是内置命令;插件提供的如smart_title_case一旦禁用,快捷键就会报command not found - 左侧「Default」配置是只读的,改了升级 Sublime 后会被覆盖——很多人白调半天,就是因为改错了地方
真正容易被忽略的是:快捷键背后依赖的是命令是否可用。你记住了 Ctrl+K Ctrl+C,但若插件卸载或禁用,title_case 仍可用,而某些第三方命令就直接失效,且错误提示只在控制台闪一下,根本看不到。

















