sublime text批量修改多行相同字符应使用ctrl+shift+l生成全部匹配光标,而非alt+enter;改写时需立刻输入避免光标合并,行尾添加用ctrl+l→ctrl+shift+l→end→输入,csv第3列修改推荐正则替换^(1,){2}(1)为$1新值。, ↩

Sublime Text 里批量修改多行相同字符,根本不用写脚本或装插件——Ctrl+D(Windows/Linux)或 Cmd+D(macOS)配合 Ctrl+L 或 Ctrl+Shift+L 就能稳稳搞定,但多数人卡在“选不全”“改串了”“光标乱飞”这三步上。
怎么一次性选中所有匹配的单词(不是整行)
很多人误以为 Ctrl+F 搜完按 Alt+Enter 就能全选,其实那是选中所有匹配项的“起始位置”,后续编辑仍只作用于第一个光标。真正可靠的是:Ctrl+Shift+L —— 它会把当前搜索结果里的每个匹配项都变成独立光标,且保持原有光标位置不变。
- 先用
Ctrl+F输入目标词(比如user_id),确保“Match Case”和“Whole Word”按需勾选 - 按
Enter跳转到第一个匹配,再按Ctrl+Shift+L,立刻生成全部光标 - 如果只想选中某几处(比如跳过注释里的),可先手动
Ctrl+Click添加光标,再按Ctrl+Shift+L扩展其余匹配
为什么改着改着只剩一个光标了?
这是最常踩的坑:一旦你敲了字母、删了字符、甚至只是按了方向键,Sublime 就会自动合并重叠光标或丢弃非活动光标。它不是“崩了”,是设计如此——多光标模式下,任何文本变更都会触发光标收敛逻辑。
- 务必在按下
Ctrl+Shift+L后,**立刻输入新内容**,不要先移动光标或删除 - 想删掉所有匹配词?直接按
Delete或Backspace,别先按Ctrl+X - 若已失焦,用
Ctrl+U可撤销光标合并,但仅限最近一次操作;更稳妥的是重新搜一遍再Ctrl+Shift+L
替换特定位置的字符(比如每行末尾加分号)
单纯靠搜索替换不行,因为“行尾”不是固定字符串。得用正则 + 多光标定位:先让光标精准落在每行末尾,再统一输入。
- 按
Ctrl+Shift+P打开命令面板,输Selection: Select Line(或直接Ctrl+L),选中全部目标行 - 按
Ctrl+Shift+L把每行转成独立光标 - 按
End键(或Ctrl+Right),所有光标会跳到各自行尾 - 此时输入
;,就只在行尾添加,不会干扰前面内容
注意:End 在某些键盘布局或远程终端里可能无效,可改用 Ctrl+→ 替代。
批量修改跨多列的对齐字段(如 CSV 中第3列)
这不是 Sublime 原生强项,硬做容易错位。推荐组合方案:先用列选择(Ctrl+Shift+↑/↓ 或鼠标拖拽时按 Shift+Alt),再配合正则替换。
- 把光标放在第3列首字符,按住
Shift+Alt向下拖拽,框出完整列区域 - 输入新值,所有行该列同步更新(注意:列必须严格对齐,否则会偏移)
- 若列不齐,先用
Ctrl+H开启正则,搜^([^,]*,){2}([^,]*),替换为$1新值,确保只动第3列
正则里 $1 是前两组逗号分隔内容,新值 替换原第3列,比手动列选更抗错位。











