ctrl+shift+l需跨行选区才生效,数组须先换行;重命名引号内内容应结合正则定位与光标精控,避免误改;json值修改推荐用正则提取后替换,嵌套结构宜用脚本处理。

Ctrl+Shift+L 不能直接对数组元素生效,得先构造含换行符的选区
很多人对着 ['a', 'b', 'c'] 按 Ctrl+Shift+L 没反应,不是快捷键坏了,是 Sublime 要求选区里必须有换行符才拆光标。数组写在一行时,它只当一个字符串处理。
正确做法是先把数组展开成多行:
- 用鼠标或
Ctrl+L选中整个数组(包括方括号) - 按
Ctrl+Shift+P,输入Selection: Split into Lines(或手动把逗号后加回车,让每个元素独占一行) - 再选中所有元素行(比如从
'a'到'c'),确保选区跨行 - 此时按
Ctrl+Shift+L,每个单引号内的内容末尾都会出现光标
注意:如果数组带空格或缩进不齐,光标会落在引号外,输新名时可能把空格一起覆盖。建议先统一格式,比如用正则 ,' → ,\n' 整理结构。
双引号/单引号内重命名要防误改,别直接 Ctrl+D 全量匹配
想把 ['user', 'post', 'comment'] 改成 ['currentUser', 'currentPost', 'currentComment'],不能直接搜 user 然后全局替换——user 可能出现在字符串、注释甚至变量名里(如 username)。
安全路径是聚焦在引号内部操作:
- 先用
Ctrl+F搜'[^']*'(匹配单引号字符串),勾上Regex和Whole Line(可选) - 按
Alt+Enter高亮所有字符串,再按Ctrl+Shift+L把每个字符串变成独立光标 - 此时光标都在引号内,按
Right移到第一个字符后,再Ctrl+Shift+→选中整个单词(避开引号) - 输入新前缀,比如
current,所有元素同步更新
若数组用双引号,正则换成 "[^"]*";含转义引号(如 "He said \"hi\"")时,需更复杂正则,建议手动分步处理。
批量加前缀/后缀时,Home/End 键位置决定是否破坏引号结构
想给每个数组元素加统一后缀,比如 'item1' → 'item1_v2',关键在光标落点。光标停在引号内末尾('item1|')和停在引号外('item1'|)结果完全不同。
- 确认所有光标都在引号内:按
Ctrl+Shift+L后,立刻按Left一次,看光标是否卡在最后一个字母和引号之间 - 加后缀:按
Right出引号,再按Backspace删除右引号,输新内容和引号,如_v2' - 加前缀:光标在引号内开头(
|'item1'),按Right进去,输完再按Left补左引号(或直接输'new_替换原引号)
一旦光标位置错,比如停在逗号后,一输内容就会把结构搞乱。改完务必扫一眼语法高亮是否还正常——引号变白或颜色断开,说明配对失败。
JSON 数组里重命名字段值,得区分 key 和 value
如果是 [{"name": "a"}, {"name": "b"}] 这类对象数组,目标是改 "a"、"b" 这些 value,而不是 "name" 这个 key,那就不能靠简单选中字符串。
- 先用正则
"name":\s*"[^"]*"匹配整个键值对,Alt+Enter全选 - 按
Ctrl+Shift+L拆光标,再用Ctrl+→(或方向键)跳过"name": ",直到光标落在 value 开头 - 按
Ctrl+Shift+→选中 value 内容(不含引号),再输入新值 - 若需保留引号结构,最后统一补
"——但更稳的方式是提前用正则提取 value:"name":\s*"([^"]*)",替换为"name": "$1_new"
这个场景下,Ctrl+D 容易误选中 "name" 字符串本身,Ctrl+Shift+L + 正则定位才是可控方案。真正麻烦的是嵌套 JSON,这时建议导出、用脚本处理再粘贴回来,Sublime 不适合深度解析。











