
Ctrl+Shift+L 是 Sublime 多行编辑核心:先选中多行(如 Ctrl+L 后 Ctrl+Shift+↓),再按此键生成多光标;加前缀按 Home,加后缀按 End(注意尾部空白干扰);大文件或复杂需求优先用正则替换或 Vintageous 插件命令。
Sublime 默认不启用列编辑(即按住 Alt 拖选),但批量加前缀/后缀最稳的方式是先选中所有目标行,再触发多光标。关键不是“怎么加字符”,而是“怎么让光标出现在每行的同一位置”。Ctrl+Shift+L 是核心:它会把当前选中的每一行拆成独立光标——前提是选中的是多行文本(哪怕只选中每行开头一个空格也行)。
常见错误:直接按 Ctrl+A 全选后按 Ctrl+Shift+L,结果光标跑到每行末尾,加前缀就失败。正确做法是先用 Ctrl+L 选中第1行 → Ctrl+Shift+↓ 向下扩选多行 → 再按 Ctrl+Shift+L。
Home 跳到行首(或手动点击每行开头),再输入字符End 跳到行尾(注意 Windows 下可能需关掉“Vintage”模式干扰),再输入字符End 会停在空白处而非真·结尾,此时建议先用正则替换清理尾部空白:\s+$ → 空多行编辑适合几十行以内;上百行以上,或者要加的字符和原内容有关(比如给每行加编号、加引号包裹),就得靠 Find → Replace 配合正则。关键是理解 ^ 和 $ 在 Sublime 中默认匹配每行起止,不用开“multiline”选项。
示例:给每行开头加 //
Find: ^\s* Replace: //
说明:^\s* 匹配行首任意空白(含无空白),避免重复加空格;如果只要纯行首,用 ^ 即可。
Find: $ → Replace: ;,但注意:若某行已存在换行符,$ 不匹配最后一行末尾(因 Sublime 把换行当作行的一部分)。稳妥做法是 Find: \n → Replace: ;\n,再单独处理末行Find: ^(.*)$ → Replace: '$1',记得勾选 .* 正则按钮.* 量词,容易卡死如果你习惯 Vim,装 Vintageous 插件后,Ctrl+Shift+P 输入 Vintageous: Enter Command Mode,就能用 Ex 命令。这不是噱头——对复杂批量编辑(比如“只给注释行加前缀”),命令比鼠标快得多。
常用命令:
:5,10s/^/TODO: /
:%s/\S$/&;/(& 表示匹配到的非空白字符):%s/^/\=line('.') . ' '/(\= 启用表达式求值)注意:Vintageous 的 s/// 默认不全局,要加 g 标志才替换每行多个匹配;且它的 $ 行尾匹配行为和原生正则略有差异,首次用建议先试小范围。
很多人加完前缀发现错位,问题不在操作,而在没意识到 Sublime 的“行首”是逻辑位置,不是视觉左边界。如果文件用空格缩进且开启了 detect_indentation,某行缩进是

Home 键可能直接跳到缩进后——这时光标根本不在真正行首。
Ctrl+Home(Windows/Linux)或 Cmd+Left(macOS)Preferences → Settings 里设 "detect_indentation": false,再手动设 "tab_size": 2 等真正麻烦的是混合缩进(空格+Tab)文件——这种情况下,正则 ^ 依然可靠,但多光标 Home 行为不可预测,优先走正则路线。