sublime中无真正一键转大写的原生快捷键,必须用ctrl+k(或cmd+k)前缀后松手再按u;常见失效原因包括连按、只读模式、中文输入法及插件冲突;自定义需在user键绑定中添加{"keys": ["ctrl+shift+u"], "command": "upper_case"}。

Sublime 里选中代码后,没有真正“一秒按一个键就变大写”的快捷键——所有原生命令都依赖 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(删整行) - 文件右下角显示
RO(只读)→ 操作静默失败,无提示 - 输入法处于中文状态 →
U键被系统吞掉,切英文输入法再试 - 插件(如 Case Conversion)劫持了
Ctrl+K前缀 → 原生命令失效,需禁用插件或重绑定
Ctrl+K 松手后该按什么?
确认已选中文本,然后执行:
- Windows/Linux:
Ctrl+K→ 松手 →U(注意:是字母U单键,不是Ctrl+U)→ 转大写 - macOS:
Cmd+K→ 松手 →U→ 转大写 - 小写同理:
Ctrl+K→ 松手 →L
没选中任何文本时,U 或 L 只作用于光标所在单词(例如光标停在 userName 中任意位置,按完变成 USERNAME 或 username),不会影响整行。
想真的一键(比如 Ctrl+Shift+U)?必须改用户配置
原生不支持单键触发,但你可以自定义。关键点:
- 只能编辑 Preferences → Key Bindings 右侧的「User」面板(左侧 Default 是只读的,升级必丢)
- 命令名必须是
upper_case,拼错就报command not found - 示例绑定(粘贴进 User 面板即可):
[{"keys": ["ctrl+shift+u"], "command": "upper_case"}] - 保存后立即生效,无需重启
多光标、多行选中、含空格/标点的字符串都会被整体转换;但正则替换里的 \U$0\E 才是真正可控的批量方案——漏掉 \E 会导致后续所有文本被强制大写,这个细节最容易被忽略。











