You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vim中如何从行首非空白字符开始进行模式替换

在Vim中为行首空白后的单词间插入多空格

方法一:全局替换命令

直接执行以下命令,可一次性处理所有行:

:%s/^\s*\zs\(\w\+\)\s\+/\1   /g

参数说明:

  • %:作用于所有行
  • ^\s*\zs:跳过行首所有空白字符,从第一个非空白处开始匹配
  • \(\w\+\)\s\+:匹配一个完整单词及其后的空格
  • \1 :保留原单词,替换为「单词+3个空格」(可自行调整空格数量)
  • g:每行内替换所有匹配项

方法二:可视区域替换

适合逐行或选部分行处理:

  1. 光标移到目标行,按^跳转至第一个非空白字符
  2. 按v$选中从当前位置到行尾的内容
  3. 输入命令并回车:
:s/\s\+/   /g

此操作仅修改选中区域,不会改动行首的空白缩进。

自定义空格数量

如果需要调整插入的空格数,只需修改命令中替换部分的空格数量即可。比如要插入2个空格,就把\1 改成\1 ,\s\+/ /改成\s\+/ /。

内容的提问来源于stack exchange,提问作者Nizamudheen At

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 22:11:03