删除vim中每行的第ith个字符?

问题描述 投票:0回答:2

我目前正在尝试简化文件的编辑方式,我需要找出一种方法来删除每行的第2-10个字符,并保留每行的第一个字符。

我知道您可以使用:%s / ^。{0,N} //删除每行的前N个字符,但是我不知道如何使第一个匹配项成为该行的第二个字符,而是以^

表示的行的开头

很抱歉,如果重复的话,我找不到其他问题可以帮助我解决这个问题。

regex unix text command vi
2个回答
2
投票

我知道您需要删除每行第二个字符开头的九个字符。

您可以使用

:%s/^.\zs.\{9\}//

详细信息

  • [^-行首
  • [.-任意一个字符
  • [\zs-“向后看”替代,删除到目前为止已经匹配的文本
  • [.\{9\}-任意九个字符。

0
投票

除非有其他条件,您可以尝试

:%norm l9x

说明:在“向右移动一个字符并删除九个字符”的每一行上运行“常规命令”。

这是'9'前面的小'L',不是数字。;-)

© www.soinside.com 2019 - 2024. All rights reserved.