Sublime多光标驼峰转换不生效是因为原生不支持,Ctrl+K Ctrl+C等快捷键依赖Case Conversion插件,未安装时无效;插件需通过Package Control安装并重启生效,右键菜单出现To Camel Case即就绪,且多光标下各光标独立处理连续非空白字符。

多光标选中后,驼峰转换命令为何不生效?
因为 Sublime Text 原生不支持驼峰命名转换,Ctrl+K Ctrl+C 等快捷键只是 Case Conversion 插件注册的命令,没装插件时按了也没反应——这是最常卡住的地方。
多光标本身能正常选中多个变量(比如连续按 Ctrl+D),但后续命令是否起作用,取决于插件是否已安装并激活:
- 确认已通过
Ctrl+Shift+P→ 输入Install Package→ 搜索Case Conversion并安装 - 安装后需重启 Sublime,或手动执行
Package Control: Satisfy Dependencies - 右键选中文本,若菜单里出现
To Camel Case选项,说明插件就绪
多光标下,光标位置影响转换结果
插件对每个光标独立处理,但只作用于“当前光标所在位置的连续非空白字符”——它不会跨符号识别词边界。这意味着:
- 光标落在
user.name中任意位置,只会把user或name单独转,点号.是硬分隔符 -
user_profile和userProfile可被完整识别并互转 - 如果光标停在开头空格或换行符上,命令静默失败,无提示也不报错
- 中文混排如
用户名_id,插件只处理_id部分,前面中文不动
批量转 snake_case → camelCase 时数字和缩写怎么处理?
Case Conversion 插件默认行为是:数字不打断单词、全大写缩写整体小写。这和多数工程规范一致,但要注意实际效果:
-
user_id_2_field→userId2Field(2后的f仍大写,符合 camelCase 惯例) -
XMLHttpRequest→xmlHttpRequest(不是xmLHttpRequest,全大写块被当整体处理) -
api_key_v2→apiKeyV2(v2保持小写 v + 数字,不变成V2) -
user__name→userName(连续下划线被当作单一分隔符,不是 bug)
如果你需要 v2 首字母大写(即 apiV2Key),插件做不到,得先用正则把 _v2 替换为 V2,再跑插件。
不用插件时,正则+多光标能应急吗?
可以,但仅限简单英文命名,且必须分两步做,否则容易出错:
- 第一步:打开替换面板(
Ctrl+H),启用正则,查找_(\w),替换为\U$1—— 这步把下划线后字母变大写 - 第二步:手动删掉开头可能残留的下划线(如
_id→Id),再用Ctrl+K Ctrl+L统一小写首字母 - 多光标下,每处替换独立执行,但
\U$1不会自动处理数字衔接(user_id2→userId2成功,user2_id→user2Id也 OK) - 别用
title_case(Ctrl+K Ctrl+C)替代——它只认空格,user_name会变成User_Name,完全不对
真正麻烦的是混合场景:比如 getHTTPResponseCode 要转 get_http_response_code,正则很难一次写对边界,这时候插件仍是唯一靠谱选择。


















