Sublime Text原生不支持驼峰等命名风格智能转换,需依赖插件或正则;内置快捷键仅做字符映射,无法处理user_id_2、api-key等边界情况;推荐Case Conversion插件实现snake_case→camelCase等互转,并注意Unicode及不可见字符限制。

Sublime Text 原生不支持驼峰(camelCase)、下划线(snake_case)、短横线(kebab-case)等命名风格的智能转换,所有“一键转驼峰”类需求,必须靠插件或正则组合实现——硬用内置功能只会漏掉 XMLHttpRequest、user_id_2、http_status_code 这类边界情况。
原生快捷键能做什么、不能做什么
Sublime 的 Ctrl+K, Ctrl+U(大写)、Ctrl+K, Ctrl+L(小写)、Ctrl+K, Ctrl+C(title case)只做纯字符映射,不理解命名语义:
-
Ctrl+K, Ctrl+C对user_name输出User_Name,不是UserName - 对
api-key输出Api-Key,不会变成apiKey - 遇到数字或特殊符号(如
user_id_2、don't)直接放弃处理,或错误地把2当作单词首字母大写 - 选区为空或只有空格/换行时,命令完全不生效
用正则 + 大小写替换模拟 snake_case → camelCase
如果不想装插件,可用正则临时救急,但需手动控制范围和顺序:
- 先勾选
Regular Expression和In Selection(否则匹配整文件) - 查找:
(?:^|[_\-])([a-z]),替换为:\U\1(把分隔符后的小写字母变大写) - 再全局删掉所有
_和- - 最后用
Ctrl+K, Ctrl+L统一小写,再手动修正首字母(如user_name→userName) - 注意:这个流程对
HTTPStatus、iPhone无效,因为没处理连续大写缩写
推荐插件 Case Conversion 及关键配置
真正解决命名转换,得装 Case Conversion 插件(Package Control 可搜到),它支持 camelCase、PascalCase、snake_case、kebab-case 四种互转:
- 安装后菜单路径:
Edit → Convert Case → [对应选项] - 可自定义快捷键,例如在
Preferences → Key Bindings – User加:{ "keys": ["ctrl+alt+c"], "command": "case_conversion", "args": {"case": "camel"} } - 它能正确处理
user_id_2→userId2、API_KEY→apiKey,但对XMLHttpRequest仍按字母切分(输出xMLHttpRequest),这是多数插件的共性限制 - 别用
TitleCase插件替代——它只做空格分隔的首字母大写,和原生title_case几乎一样
容易被忽略的边界问题
真实开发中,命名转换失败往往卡在这些细节上:
- 输入文本含不可见字符(如零宽空格、BOM),导致正则匹配失效,建议先用
Ctrl+Shift+P→Convert Indent to Spaces清理格式 - 插件默认对整个文件生效,批量改变量名时务必先选中目标字段,否则可能误改注释或字符串里的内容
-
Case Conversion不处理 Unicode 字母(如中文拼音shou_ji_hao→shouJiHao可行,但手机号不会转) - 正则方案里
\U\1在 macOS 上部分版本不兼容,建议优先用插件


















