用正则删固定列符号:查^.{7}(.{3})替为空,注意Tab、回车需显式写\t或\r;删行首尾符号用^和$锚定;位置不固定时可用Ctrl+Shift+L多光标;需警惕隐藏字符与换行符类型。

删每行固定位置的符号,用正则 ^.{n}(.{m})
想删所有行第 8 到第 10 位的符号(比如冒号、括号),不能靠鼠标拖——得用正则精准定位列。打开 Ctrl+H,启用右下角 .* 模式,查找框填:^.{7}(.{3}),替换框留空。^ 锚定行首,.{7} 跳过前 7 个字符(列数从 1 算起),(.{3}) 捕获目标 3 个字符,替换为空即完成切除。
注意:. 默认不匹配 \t 或 \r,如果目标位置含 Tab,必须显式写成 \t;若含回车符,得加 \r。测试前先点 Find All,看高亮是否对齐目标列——错位多半是 Tab 或不可见字符没算进去。
删所有行开头/结尾的特定符号,用 ^ 和 $
删每行开头的 # 或 //,查:^# 或 ^//,替换留空;删行尾逗号或分号,查:,$ 或 ;$,同样替换为空。关键在 ^ 和 $ 的锚定作用——它们确保只动边界,不波及中间内容。
常见踩坑点:
-
^#.*$会删整行,不只是#符号——除非你真想删注释行 - 行尾有空格时,
,$匹配不到,得改成,[ \t]*$ - 中文全角符号(如:、;)需单独写进正则,
:不等于:,不能混用
删多行中相同符号但位置不固定,用 Ctrl+Shift+L 配合多光标
比如要删掉所有 console.log( 后面的左括号,但每行位置不同——这时正则反而难控,不如用多光标精准点删。先 Ctrl+F 搜 (,勾选 Whole Word 和 Wrap Around,点 Find All,再按 Ctrl+Shift+L 把所有匹配处转为独立光标,最后按 Delete 即可批量删括号。
这个方法的优势是不依赖列数或上下文,只认字符本身;但要注意:
- 如果括号出现在字符串里(如
"a(b)"),它也会被删——正则能加负向断言规避,多光标做不到 - 搜完必须确认
Find All高亮了全部目标,否则漏掉的光标不会参与后续操作 - 删完若发现某行少了一个括号但逻辑异常,大概率是该括号本属于字符串字面量,该用正则加条件过滤
删符号后格式塌了?重点检查换行符和不可见字符
删完发现行与行“粘”在一起,或缩进错乱,八成是换行符类型不匹配。底部状态栏看当前是 DOS (CRLF) 还是 Unix (LF),替换前务必保持一致——比如文件是 CRLF,却在 LF 模式下执行替换,\r 会被当普通字符留下,导致显示异常。
更隐蔽的问题是隐形字符:网页粘贴来的文本常带 \u200b(零宽空格)、\uFEFF(BOM),它们会让 . 或 \s 失效。删符号前建议先开 View → Show White Space,看到 · 或 → 就说明有隐藏字符,得在正则里显式加上,例如:^[\s\u200b\uFEFF]*#。
真正容易被忽略的是:删完符号后,某些行末尾可能残留 \r 但没 \n,这种“半截换行符”在终端里会把下一行顶上来——它不会被 ^ 或 $ 正确识别,得靠 Ctrl+Shift+K 手动删整行收尾。

















