sublime text 大小写转换需两步操作:先按 ctrl+k(或 cmd+k),松开后再按对应键(如 ctrl+u);连按会触发冲突命令,选区决定作用范围,自定义快捷键须写入用户配置文件。

Sublime Text 没有真正意义上的“一键”大小写转换(比如单个按键直接触发),所有内置大小写命令都依赖 Ctrl+K(Windows/Linux)或 Cmd+K(macOS)作为命令前缀,必须分两步操作——这是设计逻辑,不是配置缺陷。
为什么 Ctrl+K+U 不起作用?
因为 Ctrl+K 本身不执行任何操作,它只是告诉 Sublime:“接下来的按键,请按大小写命令处理”。常见错误是连按 Ctrl+K+U 不松手,结果触发的是 Ctrl+K, Ctrl+K(删到行尾)或 Ctrl+K, Ctrl+Shift+K(删整行)等冲突命令。
- 必须先按住
Ctrl+K→ 松开 → 再单独按Ctrl+U(大写)或Ctrl+L(小写) - macOS 用户同理,把
Ctrl全部换成Cmd,但注意系统级快捷键(如Cmd+K在某些终端或浏览器中已被占用) - 如果命令面板里搜
upper_case能正常执行,说明功能完好,只是快捷键被挡了——可去「系统设置 > 键盘 > 快捷键」排查
选中范围决定转换粒度
大小写转换永远只作用于当前选区:没选中时,默认只处理光标所在单词;多行选中时,逐行/逐字段覆盖;多光标则每个光标独立处理对应位置的单词或选区。
- 批量改变量名?先用
Ctrl+D多次选中相同词,再统一执行Ctrl+K, Ctrl+U - CSV 字段名转小写?全选列 →
Ctrl+K, Ctrl+L,不会误伤引号内内容(但字符串字面量本身也会被转,需人工核对) -
title_case命令(Ctrl+K, Ctrl+C)只做简单空格分词首字母大写,对iPhone、XMLHttpRequest无效,别指望它处理驼峰
正则替换中 \U 和 \E 必须配对
在 Find → Replace 启用正则(Alt+R)后,\U 表示“开启全大写模式”,\E 是唯一终止符。漏写 \E 会导致后续所有文本被强制转大写,非常隐蔽。
- 正确写法:
find: (hello) → replace: \U$1\E→ 输出HELLO - 错误写法:
\U$1→HELLOworldTHISISALSOUPPERCASE - 单字符控制用
\u(下一个字母大写)、\l(下一个字母小写),注意是小写 L,不是数字 1
自定义快捷键必须写进 User 配置区
默认快捷键绑定在只读的 Default 配置里,升级 Sublime 后会被覆盖。想改或加快捷键,必须编辑 Preferences → Key Bindings 右侧的用户文件。
- 命令名必须准确:
upper_case、lower_case、swap_case、title_case是内置命令名,拼错就报command not found - 例如添加小写快捷键:
[{"keys": ["ctrl+shift+l"], "command": "lower_case"}] - 多个快捷键冲突时,Sublime 采用“最后匹配优先”,所以用户配置里靠后的条目会覆盖前面的
最易被忽略的是:大小写转换是纯文本覆盖操作,不识别语义。JSON key、HTML 属性名、Python 变量名被一并转换,没有上下文判断。处理代码前,建议先用多光标精准选中目标,而不是全选整块代码。











