Sublime中Ctrl+K是命令前缀键,需松开后再按Ctrl+U/L执行大小写转换;多光标支持独立处理;macOS用Cmd替代Ctrl;lower_case失效时需手动绑定;正则替换需配对使用\U\E等控制符;默认title case功能有限,推荐Case Conversion插件。

Ctrl+K 不是组合键,是命令前缀键
Sublime 的大小写转换不是靠三键齐按实现的,Ctrl+K 本身不执行任何操作,它只是告诉编辑器:“接下来我要发一个大小写相关的命令”。必须松开 Ctrl+K 后,再单独按 Ctrl+U(大写)或 Ctrl+L(小写),否则大概率触发删行、注释等其他命令。
- 常见错误:连按
Ctrl+K+U不松手 → 触发的是Ctrl+K系列其他功能(比如Ctrl+K, Ctrl+K是删到行尾) - 没选中文字时,默认只转换光标所在单词,不是整行也不是整个文件
- 支持多光标:每个光标位置独立处理对应单词或选区,适合批量改变量名
- macOS 用户把所有
Ctrl换成Cmd即可,逻辑完全一致
为什么 lower_case 命令有时不生效?
默认配置里,Ctrl+K, Ctrl+L 实际绑定的是 lower_case 命令,但它在某些 Sublime 版本或插件冲突下可能被覆盖或未注册。尤其当你装过 Case Conversion、TitleCase 等插件后,原生命令仍存在,但部分第三方命令(如 smart_title_case)一旦禁用就直接报错“command not found”。
- 验证方式:菜单栏 Edit → Convert Case → lower case 能用,说明命令本身可用;不能用,说明绑定失效或命令被卸载
- 修复方法:打开 Preferences → Key Bindings,在右侧 User 面板中手动添加:
[{"keys": ["ctrl+k", "ctrl+l"], "command": "lower_case"}] - 切记不要改左侧 Default 文件——升级后会被覆盖
正则替换中大小写控制符怎么写才不翻车?
在 Find → Replace 开启正则(.* 按钮)后,\U、\L、\u、\l 这些符号只对紧邻的字符或捕获组生效,而且必须配对使用,漏一个 \E 就会让后面所有文本变大写。
-
\U$1\E:把捕获组 1 全转大写(\U开启,\E显式终止) -
\u$2:只把捕获组 2 的首字母大写(注意是\u,不是\U) -
\l$3:只把捕获组 3 的首字母小写 - 错误写法:
\U$1后面没跟\E→ 替换结果从 $1 开始直到行尾全变大写
想一键首字母大写或驼峰命名?别硬扛默认功能
Sublime 默认的 Ctrl+K, Ctrl+C 是 title case,但它对连字符(user-name)、撇号(don't)、数字混合(apiV2)处理很保守,基本等同于“每个空格分隔单词首字母大写”,无法生成 userName 或 ApiV2 这类格式。
- 真实需求如 API 字段名转换、变量重命名,建议装插件:
Case Conversion(推荐)或TitleCase - 装完后可通过菜单 Edit → Convert Case 找到
camelCase、snake_case、MACRO_CASE等选项 - 自定义快捷键示例(加到 Key Bindings User):
[{"keys": ["ctrl+alt+t"], "command": "title_case"}]
真正容易被忽略的是:你记住了快捷键,却忘了它背后依赖的是「命令名」是否还活着——插件禁用、重命名、或升级后路径变更,都会让快捷键静默失效。

















