sublime text批量转换大小写最稳方式是两段式快捷键:先按ctrl+k(windows/linux)或cmd+k(macos)松手,再按ctrl+u(大写)、ctrl+l(小写)、ctrl+c(标题式)或ctrl+s(互换),连按不松手会触发删行等冲突命令,且需确保非只读、英文输入法、无插件劫持前缀。

Ctrl+K松手再按U/L才是真快捷键
Sublime Text 没有 Ctrl+K+U 这种三键组合快捷键,Ctrl+K(Windows/Linux)或 Cmd+K(macOS)只是命令前缀,必须松手后再单独按 Ctrl+U(转大写)、Ctrl+L(转小写)、Ctrl+C(标题式)、Ctrl+S(互换大小写)。连按不松手,大概率触发删行、删到行尾等冲突命令,或被中文输入法直接吞掉。
- 文件右下角显示
RO(只读)时,操作静默失败,需先取消只读或另存为 - 中文输入法(如搜狗、微软拼音)会拦截
U/L键,务必切英文输入法再试 - 部分插件(如 Emacs Pro Essentials 或 Vintage 模式)会劫持
Ctrl+K前缀,可在Preferences → Package Settings查看键位冲突 - 光标落在字符串字面量或注释内时,某些语法高亮模式(如 Python、JSON)会跳过该区域,导致无反应
多光标选中后统一转换最实用
批量改变量名、字段名、API key 等重复文本时,Ctrl+D(逐个匹配相同词)或 Ctrl+鼠标左键(手动点出多个光标)比全选更精准。每个光标独立处理其所在单词或选区,哪怕只覆盖首字母也生效。
- 确保每个光标都落在目标词上(例如
user_name的u或整个词),再执行Ctrl+K→松手→Ctrl+U - 若原始文本含驼峰(如
userName)或下划线(如user_name),原生命令只转整个单词,不会拆分或重命名 - 多光标对空格、标点不敏感——选中
"hello world"后转换,结果是"HELLO WORLD",引号和空格一并保留
整行/全文件必须用正则替换,\U$0\E不能漏\E
内置快捷键只响应“已有选区”,无法自动识别行首、单词边界或语义规则。想每行首字母大写、全文件转小写、或提取字段名转驼峰,必须进 Ctrl+H(替换面板),勾选 Regular Expression(点 .* 按钮)。
-
\U$0\E:整个匹配项转大写($0是完整匹配,\E必须配对,漏写会导致从匹配处开始直到行尾全变大写) -
\L$0\E:整个匹配项转小写 -
\u$0:仅匹配项首个字符大写(注意是小写u,不是\U;它只影响紧邻下一个字符) - 每行首字母大写:Find What 填
^[^\n\S]*([a-zA-Z]),Replace With 填\U$1\E,可跳过空行、缩进和数字开头的行
snake_case ↔ camelCase 必须靠正则两步走
Sublime 原生不支持下划线与驼峰互转。title_case(Ctrl+K→Ctrl+C)只会按空格切分,对 user_name、api-key 无效;swap_case 对下划线完全无感。
- 转 camelCase:查找
_(\w),替换为\U$1(注意启用正则),再手动清理开头或连续下划线(如_id→Id需额外小写首字母) - 连续下划线(如
first__name)需先运行一次replace all _清理冗余 - 带数字字段(如
user_id_2)会被正确转成userId2;但user_2_id变成user2Id,符合常规规范 - 若需 PascalCase 或智能处理撇号/连字符(如
don't→Don't、multi-word→MultiWord),得装Case Conversion或TitleCase插件
\E,还有误信 title_case 能处理下划线——它根本看不到下划线。











