stringmanipulation插件需手动绑定快捷键,不兼容ctrl+k前缀;其title_case/sentence_case能智能处理下划线、驼峰等;多光标操作风险高,无语法检查与undo隔离,且不支持find in files及非ascii字符。

StringManipulation 插件不是“神器”,它只是把 Sublime 原生的大小写命令做了封装和扩展,但默认不启用任何快捷键——装完就用,反而会失效。
安装后必须手动启用命令绑定
StringManipulation 安装后不会自动接管 Ctrl+K 系列快捷键,所有功能都处于“休眠”状态。你按 Ctrl+K→U 还是走原生 upper_case,插件的 string_manipulation_uppercase 命令根本不会触发。
- 必须打开
Preferences → Package Settings → StringManipulation → Key Bindings – User - 在里面添加类似这样的绑定:
[{"keys": ["ctrl+alt+u"], "command": "string_manipulation_uppercase"}] - 不能复用
Ctrl+K开头的组合,否则和原生命令前缀冲突,导致部分快捷键失灵 - 插件自带的示例绑定在
Key Bindings – Default里,那是只读的,改了也没用
title_case 和 sentence_case 是它真正值回票价的地方
原生 title_case 只按空格切分,对 user_id、iPhone、don't 完全无感;而 StringManipulation 提供的 string_manipulation_title_case 和 string_manipulation_sentence_case 能识别下划线、连字符、撇号,并保留驼峰内部结构(比如 getUserId → GetUserId)。
-
string_manipulation_title_case:把api_response_code→ApiResponseCode,适合转 PascalCase -
string_manipulation_sentence_case:把hello world→Hello world(仅首词大写),不是全句每个单词都大写 - 这两个命令在正则替换里依然不可用——
\U和\E是 Sublime 查找面板专属语法,插件不参与该流程
多光标 + 插件命令 = 高风险操作
插件对多光标的支持比原生更“激进”:如果某一个光标位置没选中任何文本(比如只是光标停在行尾),它可能直接跳过、报错中断,或者误将整行当作目标——原生命令至少还会作用于当前单词,插件不一定。
- 批量操作前,先按
Ctrl+Shift+L拆分多行光标,再用Ctrl+→或鼠标拖选确保每个光标都有明确 selection - 避免混用:不要一边选中
NAME,一边选中name,插件不会做“智能归一化”,而是分别执行 uppercase / lowercase - 它不检查语法上下文——把 JSON 字符串里的
"status"转成"STATUS",照样干,不会提醒你这会导致 API 解析失败
别指望它修复原生限制
StringManipulation 不改变 Sublime 的底层行为:它依然无法在 Find in Files(Ctrl+Shift+F)里使用大小写控制符;依然无法处理非 ASCII 字符(中文、emoji、带重音的 éàü);右下角显示 RO 时,它的所有命令也静默失败。
- 想在全局搜索结果里批量改大小写?不行。只能回到单文件,用
Ctrl+H手动替换,或写 Python 脚本调用sublime_plugin.TextCommand - 插件新增的
snake_case、camel_case命令,只对纯字母+数字+下划线/连字符有效,遇到user@domain.com或path/to/file就会切错 - 最常被忽略的一点:它没有 undo 栈隔离——一次误操作可能连带撤销掉你之前十几步的手动编辑











