Sublime Text 默认不支持小驼峰转换,需安装Case Conversion插件;选中snake_case或kebab-case文本后按Ctrl+K Ctrl+C(Win/Linux)或Cmd+K Cmd+C(macOS)即可转换,首单词恒小写,但连续下划线、全大写缩写及中文需手动处理。

Sublime Text 里没有内置的小驼峰转换功能
默认安装的 Sublime Text 不提供 snake_case → camelCase 或 kebab-case → camelCase 的一键转换。你选中文字按快捷键,不会自动变形——这是很多人第一次找半天没找到的原因。
必须装插件:SideBarEnhancements 不行,要用 Text Pastry 或 EasyMotion + 自定义命令?不,最稳的是 Case Conversion
推荐直接安装社区维护成熟、零配置的插件:Case Conversion(作者:jdc0589)。它支持全平台,响应快,且不依赖 Python 构建环境。
- 打开 Command Palette(
Ctrl+Shift+P/Cmd+Shift+P),输入Package Control: Install Package回车 - 搜
Case Conversion,回车安装 - 重启 Sublime(部分版本需重启才加载新命令)
- 选中如
user_name_input或first-name-field,再按Ctrl+K Ctrl+C(Windows/Linux)或Cmd+K Cmd+C(macOS)即可转为userNameInput或firstNameField
注意分隔符识别逻辑和常见翻车点
Case Conversion 默认按 _、-、 (空格)、. 切分单词,首字母大写后拼接,但**第一个单词永远小写**——这符合小驼峰定义。但容易忽略的细节有:
- 连续下划线(如
user__name)会被当做一个空字段处理,结果变成userName(不是 bug,是按 token 切分的正常行为) - 含数字时(如
user_id2_field)→userId2Field,数字后字母仍大写,符合主流语言惯例 - 全大写缩写(如
XML_HTTP_REQUEST)→xmlHttpRequest,不会保留XML,如需xmlHttprequest得手动调;若要保持XmlHttpRequest,得用其他插件或正则替换 - 中文或特殊符号(如
用户_name)会卡在中文处截断,只转换后面部分,建议先清理非 ASCII 字符
不想装插件?临时用正则替换也行,但得记两组 pattern
适用于一次性处理、或受限环境(如公司锁死插件安装)。打开 Find → Replace(Ctrl+H),勾选 Regular Expression:
s/[_\-\. ]+(\w)/\U$1/g
这只能把分隔符后的首字母变大写,还剩第一个单词要手动小写。更完整的方案分两步:
- 第一步:去掉所有分隔符并首字母大写 →
find: [_\-\. ](\w),replace: \U$1 - 第二步:把开头字母变小写 →
find: ^(\w),replace: \L$1
但要注意:正则无法智能跳过已有大小写(比如 UserID → userid 再 → userId),纯靠人工校验。插件仍是变量命名提速的合理选择。
真正卡住效率的往往不是「有没有功能」,而是「第一个单词是否被误大写」和「缩写词怎么保真」——这两点 Case Conversion 默认不处理,得自己扫一眼。










