sublime text批量转大小写最稳方式是两段式快捷键:ctrl+k松手后按ctrl+u(大写)或ctrl+l(小写),macos用cmd;需确保非只读、英文输入法、无插件冲突,多光标同理;整行/全文件转换需正则替换,驼峰等复杂格式推荐case conversion插件。

Sublime Text 里批量转大小写,最稳的方式就是先选中再用 Ctrl+K 松手后按 Ctrl+U(大写)或 Ctrl+L(小写),macOS 用户把 Ctrl 换成 Cmd 即可。这不是三键连按,是两段式触发——卡在这一步的人最多。
为什么按 Ctrl+K+U 没反应?
根本原因:你没松开 Ctrl+K 就直接按了 U。Sublime 的 Ctrl+K 是命令前缀键,类似 Vim 的冒号,它本身不执行任何操作,只表示“接下来要输入子命令”。系统收不到完整指令,自然没反应。
- 必须严格按顺序:
Ctrl+K→ 松手 →Ctrl+U(或Ctrl+L) - 如果当前文件右下角显示
RO(只读),转换会静默失败,需先取消只读或另存为 - 输入法处于中文状态时,快捷键常被系统拦截,切到英文输入法再试
- 某些插件(如 Emacs Pro Essentials)会劫持
Ctrl+K前缀,可在Preferences → Package Settings查看键位冲突
想对多处不连续文本统一转大小写?用多光标 + 快捷键
适合变量名重命名、字段名格式统一等场景。和单次选中一样,只是光标变多了。
- 用
Ctrl+D逐个选中相同词(比如所有user_name) - 或按住
Ctrl(macOS 用Cmd)+ 鼠标左键,在多个位置点出光标 - 确保每个光标都落在目标词上(哪怕只覆盖一个字母),然后执行
Ctrl+K→ 松手 →Ctrl+U - 注意:每个光标独立处理其所在单词/选区,不会跨光标合并逻辑
整行、整段、全文件批量改大小写?靠正则替换 + 大小写语法
内置快捷键只认“选区”,没法自动识别单词边界或语义。这时候得进 Find → Replace 面板,开正则模式(Alt+R 或点 .* 按钮)。
-
\U$0\E:把整个匹配内容转大写($0表示完整匹配,\U和\E必须配对) -
\L$0\E:全部转小写 -
\u$0:只把匹配项首字符变大写(\u只影响紧邻的下一个字符,不是整组) - 例如想让每行首字母大写:Find What 填
^[^\n],Replace With 填\u$0,勾选正则后点Replace All - 错误写法:
\u$0用于匹配整行(^[^\n]+)→ 实际只改第一个字母,因为\u不作用于整个捕获组
想智能处理驼峰、下划线、连字符?别硬刚内置功能
Ctrl+K → Ctrl+C 的 title_case 很保守:它只按空格切分,对 iPhone、XMLHttpRequest、multi-word 完全无效。原生不支持驼峰转换,强行用正则也容易漏掉边界情况。
- 推荐装插件
Case Conversion,右键菜单就有To Camel Case、To Snake Case等选项 - 插件规则基于分隔符(
-、_、空格)切词,不解析语法,所以userID还是会变成Userid,不是UserId - 自定义快捷键必须加到
Preferences → Key Bindings右侧的「User」面板,改左侧「Default」会被升级覆盖 - 如果文本含中文或混合符号,部分插件转换可能意外截断,建议先清理再转
最容易被忽略的是:所有大小写转换都是覆盖式的,不保留原始大小写逻辑。比如 iPhone 用 upper_case 会变成 IPHONE,不是 IPHONE 后再手动修 P —— 没有“智能保留下划线/驼峰结构”这回事,得靠插件或人工校验。











