sublime text的upper_case命令需先按ctrl+k松手再按u触发,不支持三键连按;未选中文本时仅转换光标所在单词,下划线属单词内、连字符则分割单词;只读文件或中文输入法下操作静默失败;正则替换须用\u$0\e,自定义快捷键需写入user配置且命令名严格为upper_case。

Ctrl+K 松手再按 U 才是真正触发 upper_case 的方式
Sublime Text 的 upper_case 命令不支持三键连按(如 Ctrl+K+U),必须分两步:先按 Ctrl+K → 松开 → 再单独按 U(Windows/Linux)或 Cmd+K → 松开 → U(macOS)。连按不松手会触发 Ctrl+K, Ctrl+K(删到行尾)等冲突命令,根本不会进入大小写流程。
没选中文本时,它只转“光标所在单词”,不是整行
这个行为常被误判为“失效”,其实很严格:
- 光标停在
user_name中任意位置 → 整个user_name被转为USER_NAME(下划线被视为单词一部分) - 光标停在
first-name中 → 只转first或name(连字符打断单词边界) - 光标停在空格、标点、中文或注释内 → 命令静默失败,无提示
- 文件右下角显示
RO(只读)→ 操作静默失败,需先取消只读或另存为
正则替换里 \U 必须配 \E,漏掉就全乱了
想整行/全文件转大写,得用 Ctrl+H 打开替换面板,勾选 Regular Expression(点 .* 按钮):
- 正确写法:
\U$0\E→ 整个匹配项转大写,\E显式终止作用域 - 错误写法:
\U$0(缺\E)→ 从匹配开始处直到行尾所有文本都会被强制大写 -
\u$0是另一个东西:只让匹配项**首字符**大写(注意是小写u) - 如果匹配的是
(hello),想只转捕获组:\U$1\E
自定义快捷键必须写进 User 配置区,且命令名不能拼错
想用 Ctrl+Shift+U 直接触发,不能改 Default 面板(升级就丢),只能加到 Preferences → Key Bindings 右侧的 User 面板:
- 粘贴以下 JSON(注意外层是数组,不是对象):
[{"keys": ["ctrl+shift+u"], "command": "upper_case"}] - 命令名必须是
upper_case,写成uppercase或Upper_Case都会报command not found - 多个快捷键绑定相同
keys时,Sublime 取最后一条;建议加之前先搜索是否已有冲突 - 输入法处于中文状态(尤其搜狗、微软拼音)会吞掉
U键,务必切英文输入法
XMLHttpRequest 是驼峰,也不会跳过字符串字面量里的内容——你选中了,它就照转。











