VIM使用技巧:替换每行中指定字符第N次出现的内容
Vim实现每行第三次出现的|符号删除操作方法
你可以直接使用Vim内置的正则替换功能完成需求,操作步骤如下:
- 打开目标文件后,按下
Esc确保处于普通模式,输入:进入命令行模式 - 输入以下替换命令后回车即可:
:%s/\v^([^|]*\|){3}\zs\|//
命令说明
%:指定操作范围为文件所有行,如需仅处理部分行,可替换为行号范围,例如1,5代表仅处理第1到第5行s:Vim替换命令的标识符\v:开启「非常魔法」正则模式,减少特殊字符转义成本^([^|]*\|){3}:从行首开始匹配3次「任意非|字符 + |符号」的组合,定位到第三次|符号的前置位置\zs:标记替换操作的实际起始位置,此前匹配的内容仅作为定位使用,不会被替换- 末尾的
//代表将匹配到的第三次|符号替换为空,也就是删除该符号
内容的提问来源于stack exchange,提问作者Patoshi パトシ
相关产品推荐
相关产品推荐

