sublime text大小写转换需先按ctrl+k(或cmd+k)松手再按u/l,未选中文本仅转光标所在单词;多行或多光标时逐行/逐位置独立处理;驼峰等复杂命名必须用case conversion插件。

Sublime Text 原生不支持“一键三连”式大小写转换,所有转换必须先按 Ctrl+K(Windows/Linux)或 Cmd+K(macOS),松手后再按 Ctrl+U、Ctrl+L 等子键——连按不松手,命令根本不会触发。
为什么 Ctrl+K+U 没反应?常见失效原因
这不是快捷键坏了,而是触发链断在第一步:
- 没真正选中任何文本——哪怕只选一个字母也行,但光标单独停在单词上不行
- 文件右下角显示
RO(只读),操作静默失败,需先取消只读或另存为 - 输入法处于中文状态(尤其 Windows 上搜狗、微软拼音),
Ctrl+K被系统拦截 - 插件劫持了前缀键,比如启用 Vintage 模式或 Emacs Pro Essentials 时,
Ctrl+K被重绑为删行 - 光标落在字符串字面量或注释内(如 Python 的
"hello"或# comment),Sublime 默认跳过该区域
upper_case 和 lower_case 命令的作用范围怎么控制?
它们完全不猜意图,只认当前选区:
- 没选中任何文本 → 只转换光标所在单词(不是整行,也不识别
camelCase或snake_case) - 选中
"Hello World!"→ 整体转为"HELLO WORLD!"(空格和标点一并处理) - 多行选中 → 每行独立处理,不会跨行合并逻辑或对齐格式
- 多光标(
Ctrl+D或Ctrl+Click)→ 每个光标位置独立转换其所在词/选区,哪怕只覆盖一个字母也生效
正则替换中大小写语法怎么写才不翻车?
用 Ctrl+H 打开替换面板,必须勾选 Regular Expression(点 .* 按钮),否则 \U、\L 等无效:
-
\U$0\E:整个匹配项转大写(\U开启,\E显式终止) -
\L$0\E:整个匹配项转小写 -
\u$0:仅匹配项首字符大写(注意是\u,不是\U) -
\l$0:仅首字符小写(小写 L,不是数字 1) - 错误写法:
\U$1后漏\E→ 从捕获组开始直到行尾全变大写
哪些场景原生不支持,必须靠插件?
Sublime 默认功能很克制,以下需求它不做:
- 驼峰命名(
user_name→userName)、短横线(api-key→apiKey)或下划线(first_name→firstName)转换 - 智能标题格式(
don't→Don't、iPhone→iPhone、multi-word→Multi-Word) - 句首大写(
hello. world.→Hello. World.) -
title_case命令本身只按空格切分,对连字符、撇号无感
真要处理这些,Case Conversion 插件最稳;装完后默认快捷键会被覆盖,得重记,且它的规则基于分隔符切词,不是语法感知——别指望它自动识别 JS 变量里的 apiV2 这类缩写。











