Ctrl+K Ctrl+C无反应是因未安装Case Conversion插件;需安装插件、重启、验证右键菜单出现To Camel Case;多光标须落在完整标识符上,避开分隔符;正则替换\_([a-z])→\U$1更可靠。

多光标选中后 Ctrl+K Ctrl+C 没反应?先确认插件是否就绪
这不是快捷键失效,而是 Case Conversion 插件根本没装。Sublime 原生不提供驼峰转换命令,Ctrl+K Ctrl+C 是该插件注册的绑定,未安装时按键完全静默——不报错、不提示、也不执行。
必须走完这三步才算真正就绪:
- 按
Ctrl+Shift+P→ 输入Install Package→ 搜索并安装Case Conversion - 重启 Sublime,或手动执行
Package Control: Satisfy Dependencies - 右键选中文本,菜单里出现
To Camel Case选项
macOS 用户注意:快捷键是 Cmd+K Cmd+C,不是 Ctrl 键。
多光标下每个光标只处理“连续非空白字符”
插件不会跨符号识别词边界,它只对光标所在位置的连续英文/数字序列生效。这意味着:
- 光标落在
user.name的.上,只会转user或name单独部分,点号是硬分隔符 - 选中整个
user_profile后用Ctrl+D多次匹配,再执行Ctrl+K Ctrl+C,才能批量转成userProfile - 光标停在开头空格、换行符或中文字符上(如
用户名_id),命令静默失败,前面中文不动,后面_id也不会被处理
所以多光标前务必确保:每个光标都完整覆盖目标标识符,且不落在分隔符或空白处。
正则替换作为备选:_(\w) → \U$1 更稳,别用 \u$1
\u$1 只对 ASCII 字母生效,遇到 _2、_α 会跳过;\U$1 才能可靠大写所有 Unicode 字母和数字后的字母。
正确操作流程:
- 打开替换面板(
Ctrl+H),勾选.*(正则)和In Selection(避免误改全文件) - 查找:
_(\w),替换:\U$1 - 全部替换后,手动删掉可能残留的开头下划线(如
_id→Id),再用Ctrl+K Ctrl+L小写首字母 - 连续下划线(
user__name)需先运行一次替换_→ 空,清理冗余
注意:Match Whole Word 必须禁用,否则 user_name 中的 _name 可能不被匹配。
驼峰转下划线不能搜 [A-Z] 加下划线
那样会把每个大写字母前都插一个下划线,iPhone 变成 _i_phone,parseJSON 变成 parse_j_s_o_n——这不是边界识别,是暴力拆解。
真正要捕获的是「小写字母后紧跟大写字母」这个拐点,即大小写交界处:
- 查找:
([a-z])([A-Z]),替换:$1_$2 - 再统一小写(
Ctrl+K Ctrl+L) - PascalCase 开头(
UserName)需额外前置规则:^([A-Z])([a-z])→\L$1\E$2 - 连续大写缩写(
XMLParser)需加规则:([A-Z]+)([A-Z][a-z])→$1_$2
数字衔接(userId2Name)建议用 ([a-z0-9])([A-Z]) 避免把 2N 拆开——这点容易被忽略,但实际改业务字段名时天天撞上。

















