下面是删除Nvi 中第一个字符的命令:
:%s/^.\{N}//g
但是,我不明白 ; 的含义^.\{N}。任何人都可以逐个解释每个字符的含义吗?
如何扩展此命令以从行中删除中间字符?
例如从给定的行范围中删除第 4 到第 50 个字符
^是起点锚点;.是通用匹配,{N}重复上一次匹配 N 次。
要删除第 4 到第 50 个字符,请使用:%s/^\(.\{4}\).\{46}/\1/g.
但是,使用矩形选择模式可能更容易:从普通模式,移动到起始位置,然后点击Ctrl+V,您可以通过移动光标来创建矩形选择。
这是正则表达式部分解释
^是行首锚点。
.匹配任何字符。
N表示将匹配前一个标记的字符数
{}用于对计数进行分组。例如,您可以将其用作{1, 9}
所以它说,From the beginning of the line, match N characters剩下的就是 VIM 的东西。