alt+鼠标拖选删除固定列区域是最直观方式,适用于目标列明确且文本对齐良好的场景;sublime列选择仅依赖光标坐标,不识别内容语义。

用 Alt+鼠标拖选删除固定列区域
这是最直观、最不容易出错的方式,适合目标列位置明确且文本对齐良好的场景。Sublime 的列选择不依赖内容,只认光标坐标,所以只要各行在目标列有字符,就能精准擦除。
操作要点:
- 按住
Alt(Windows/Linux)或Cmd+Shift(macOS),再用鼠标从起始行目标列拖到结束行同一列,形成矩形选区 - 松手后直接按
Delete或Backspace,只删选中区域,其余内容完全不动 - 如果行数太多拖不准:先
Ctrl+A全选 →Ctrl+Shift+L拆成每行一个光标 → 用Ctrl+→(或Cmd+→)把所有光标移到目标列 → 再按Ctrl+Shift+↓向下扩展列选区 - 注意关闭
View → Word Wrap,否则换行会打断列对齐
删多行同一列但文本不对齐?先统一缩进
从 Excel 或日志粘贴的数据常混用 \t 和空格,导致列选择时“看着对齐,实际错位”。这时候不能硬拖,得先归一化。
推荐流程:
-
Ctrl+A全选 →Ctrl+Shift+P→ 输入Convert Indentation to Spaces回车,把所有\t转成空格 - 再执行
Ctrl+Shift+P→Trim Trailing White Space,清理行尾冗余空格 - 确认字体是等宽(如
Fira Code),非等宽字体下列选择无效 - 含中文时更要小心:中文字宽 ≈ 2 ASCII 字符,列选择可能劈开汉字。可先用正则
([\u4e00-\u9fa5])替换为CHN_$1_END临时占位,编辑完再反向还原
想删每行第 N 个字符开始的一段?别拖,用正则
列选择是“矩形擦除”,正则是“按位置切除”。如果要删的是每行固定偏移处的子串(比如每行第 12–15 个字符),正则更稳、更可复现。
关键点:
- 启用 regex 模式(点右下角
.*图标) - 搜索框填:
^.{11}(.{4})→ 表示“从行首跳过 11 位,捕获接下来 4 位”,替换框留空就实现精准切除 - 列数从 1 开始算;
.默认不匹配\t,含 Tab 必须显式写成\t,例如删第 2 个 Tab 后的内容就得用\t([^\t]*)\t - 操作前务必点
Find All看高亮是否准确——尤其注意空行、短行会不会被误伤
删光标后所有字符?不是连按 Ctrl+Delete
很多人想批量删掉每行某个位置之后的内容(比如统一删掉 const x = 后面的表达式),误以为按住 Ctrl+Delete 就行。实际上它只作用于当前光标所在行。
正确做法是:
- 先用
Ctrl+F定位关键词(如=),Enter跳转到第一个匹配处 - 按
Ctrl+Shift+L把所有匹配行的光标都打出来 - 再按
Ctrl+→移动所有光标到等号后一位 - 接着按
Shift+Ctrl+→(或Shift+Cmd+→)选中光标后全部内容,最后Delete - 这个流程本质是“多光标 + 行内选区”,比正则更直观,也避免了正则里
.*$可能跨行匹配的风险











