安全拆光标需先用Ctrl+L逐行选中确保含换行符,再Ctrl+Shift+L;删多行内容应优先正则匹配(如^.console.log.$)后批量操作,避免手动漏删或误删。

Ctrl+Shift+L 拆光标前必须确保选区跨行且含换行符
直接鼠标拖选几行后按 Ctrl+Shift+L,常只生成一个光标——因为松手时没选中行尾的换行符(\n),Sublime 就当它是单行文本。结果就是删完只剩最后一行,其他“消失”的内容其实被剪切到剪贴板里了,但你根本没意识到。
安全做法是:Ctrl+L 选中当前行 → 继续按 Ctrl+L 多次扩展选中后续行(每按一次加一行)→ 再按 Ctrl+Shift+L,100% 每行末尾都落一个光标。如果目标行不连续,就用 Ctrl+Click 点击行号旁空白处打虚线框,再统一 Ctrl+Shift+L。
- 已选中文本块时,优先用
Ctrl+X剪切,别用Ctrl+Shift+K—— 后者只删光标所在行,对多选无效 - 拆完光标后,别急着按
Delete;先按Shift+↑或Shift+↓扩展选中整行,再删,避免因换行符归属问题删少或删多 - 删 JSON/YAML 等缩进敏感结构前,按
Ctrl+Shift+P输入Show Scope,确认光标没跨 block(比如没误入字符串值内部)
删注释、空行、console.log 行不能靠手动,得用正则 + Find All
想删所有 console.log 行,连按 Ctrl+Shift+K 或拖选再删,漏率极高:滚动外的行不参与、带零宽空格的“伪空行”不触发、注释行删完变空行却没被清理。
正确路径是:Ctrl+H 打开替换面板 → 勾选右下角 .*(启用正则)→ 查找框填 ^.*console\.log.*$ → 点 Find All → 再按 Ctrl+Shift+L → 按 Delete。空行同理,用 ^\s*$,注意结尾必须写 \n 否则文件末尾空行残留。
- 删注释行(如
//或#)时,用^[ \t]*(//|#).*?$,勾选Match Whole Line,防止误伤行中注释 - 含全角空格(
\u3000)、零宽空格(\u200b)等隐形字符的“脏空行”,基础^\s*$匹配不到,得扩展为^[\s\u3000\u200b\uFEFF\u00a0]*$ - 删完注释后出现大量空行?执行一遍
^\s*$→Find All→Ctrl+Shift+L→Delete,再跑第二遍收尾
删固定列位置(如日志字段、CSV 第三列)别硬数字符,用列选择或专用正则
想删每行第 12–15 个字符,用 ^.{11}(.{4}) 是可行的,但前提是:列数从 1 起算、空格和 Tab 都算 1 字符、Tab 必须显式写成 \t。一旦文本含 Tab,. 默认不匹配它,正则就错位。
更稳的办法是列选择:Alt(Win/Linux)或 Cmd+Shift(macOS)+ 鼠标拖出矩形选区 → 松手后直接 Delete。如果行太多拖不动,先 Ctrl+L 全选所有行 → Ctrl+Shift+L 拆光标 → Ctrl+→ 移动到目标列 → Ctrl+Shift+↓ 扩展纵向选区。
- 处理 Tab 分隔的 CSV 时,别依赖字符数;用
\t[^\t]*\t匹配整个第三列(含前后 Tab),再用捕获组提取中间部分单独删 - 正则替换后缩进塌了?看底部状态栏换行符类型(DOS/Unix/Mac),确保和源文件一致;出现
^M符号说明\r残留,搜\r单独删 - 列选择模式不依赖内容,只依赖光标位置,比正则更适合整齐表格类文本
删光标后内容要对齐,不能连按 Ctrl+Delete
想统一删掉所有 return 后面的表达式,连按 Ctrl+Delete 没用:第一次删第 5 行 return 后内容,光标跳到第 6 行开头,第二次又从行首开始删,完全错位。
必须先对齐光标:Ctrl+F 搜 return → 勾选 Whole Word → 点 Find All → 所有 return 高亮 → 按 Ctrl+Shift+L 拆光标 → 全部按 → 或 Space 移动到空格后 → 再按 Ctrl+Delete,这时才真正批量生效。
- 对齐失败常见原因:光标落在
return字母上而非其后;或某行是return;,后面没空格,得先统一补空格再操作 - 删
const x =后表达式,建议搜const [a-zA-Z_]\w* =,用正则高亮更准,避免匹配到export const等干扰项 - 删完发现某行多删了半个词?说明光标没对齐,回头用
Ctrl+U(软撤销)回退,重新对齐
多光标删代码段真正的复杂点不在快捷键本身,而在每次操作前你得判断:此刻是该用正则锚定语义(比如“所有 console.log 行”),还是用列选择锚定位置(比如“所有行第 8 列”),抑或用 Ctrl+Shift+L 锚定行结构——选错路径,删一半才发现格式全乱,就得重来。

















