Sublime Text多行编辑加前缀推荐用多光标点击或列选择,加后缀用正则替换$匹配行尾;避免全选后Home的错误操作,对齐后再列选更精准,可自定义快捷键插入固定前缀。

Sublime Text 怎么开启多行编辑批量加前缀
按住 Ctrl(Windows/Linux)或 Cmd(macOS),再用鼠标左键在多处单击,就能同时创建多个光标——这是加前缀最直接的方式。别先选中文字,否则会变成“多选替换”,不是“多光标插入”。
常见错误:用 Ctrl+A 全选后按 Home,结果只跳到第一行开头;正确做法是先按 Ctrl+Shift+L 把当前选中的多行拆成独立光标,再按 Home 或 End 跳到行首/行尾。
- 适合场景:给一组变量名统一加
const、给日志语句批量加console.log( - 如果行首有缩进,
Home默认跳到文本开头而非行首;要跳到真正行首,用Ctrl+Home(Win)或Cmd+Home(Mac) - 性能影响几乎为零,但光标超过 200 个时 UI 响应可能略卡,属正常现象
用正则替换批量加后缀(比如加分号或括号)
按 Ctrl+H 打开替换面板 → 勾选 .*(正则模式)→ 在「Find What」填 $ → 「Replace With」填你要的后缀,比如 ; 或 );。这个 $ 表示行尾位置,不是匹配内容,所以不会误删原字符。
容易踩的坑:$ 默认只匹配“非换行符之后”,如果某行末尾有空格或制表符,$ 会停在它们前面,导致后缀加在空格后而不是真·行尾。解决办法是把正则改成 \s*$,然后勾选 Trim whitespace on save 或手动清理空格。
- 适用场景:补全函数调用结尾、统一补
return语句、JSON 字段值后加逗号 -
\s*$中的\s匹配空格、制表符、换行符前的空白,*表示零或多个 - 注意:如果文件用了 CRLF 换行(Windows),
$仍能正确识别,不用改
用列选择(Column Selection)精准控制加前缀范围
按住 Alt(Win/Linux)或 Option(macOS),再拖动鼠标选中一个竖直矩形区域,松手后所有行对应列位置都会出现光标——这比多点更可控,尤其适合对齐的代码块。
典型翻车现场:想给 5 行变量名加 this.,但有的变量名长度不同,直接列选会导致部分行加在中间甚至覆盖字母。这时候得先用 Ctrl+Shift+P 调出命令面板,输入 Align,运行 Alignment: Align Lines 对齐后再列选。
- 适合场景:给结构体字段加访问修饰符、对齐 SQL 字段别名、批量修改注释符号位置
- 列选状态下按
Delete会删掉所有列位置的字符,不是清空整行 - 列选不依赖语法高亮,纯靠像素位置,所以对混合缩进(空格+Tab)的文件要格外小心
保存为快捷键或命令片段避免重复操作
如果你每周都要给 API 路由加 /v1 前缀,不如把操作固化下来。打开 Preferences → Key Bindings,在右侧用户配置里加一条:
[
{
"keys": ["ctrl+alt+p"],
"command": "insert",
"args": {"characters": "/v1"}
}
]
这样只要进入多光标状态,按 Ctrl+Alt+P 就自动插入。别试图用宏录制(Tools → Record Macro),它不记录光标移动逻辑,回放时大概率错位。
- 命令名必须写
insert,不是insert_text或其他变体,否则无效 - 如果想让前缀只在特定语法下生效(比如只在
.js文件中触发),得配合context字段,但多数人没必要这么复杂 - 快捷键冲突很常见,设完务必测试——特别是和输入法切换键(如
Ctrl+Space)撞车时,Sublime 会静默忽略
多行编辑看着简单,真正难的是判断该用哪种方式切入:光标点太多就别硬点,正则太绕就别强上,列选对不齐就先对齐。工具没高下,哪招当时不翻车,哪招就是对的。










