Vim:s替换行中前N个<g次出现
在vim中,有时我会替换行中前几次匹配项,但是并不是每个人都愿意替换g。例如: a a a a a 至 b b b a a 我知道我可以使用:s/a/b/[enter]:[up][enter]:[up][enter],但是在三个重复中就很乏味了,我的行可能有10个以上的替换。 我试过了: :s/a/b/3g:vim抱怨尾随字符。 :s/a/b/3:更改此行以及随后两行中的第一个匹配项。 3:s/a/b:与以前相同。 :s/a/b/g3:更改此行以及随后两行的所有匹配项。 :3s/a/b:更改第3行上的第一个匹配项。 :/a/,3/a/s/a/b:更改文件中a包含的下一行和第三行之间的每一行的第一个匹配项a(如有必要,提示反转)。 :/a/,/\([^a]*a\)\{3\}/s/a/b/:更改此行与第二行之间每行的第一个匹配项,并在其上加上3 as(而且对于多字符搜索而言,这很难扩展)。 还有其他各种寻址模式,没有一种有效。我必须说,关于:s尝试找到该问题答案的命令,我已经学到了很多东西,但是我仍然没有解决。 有人知道怎么做吗? (特定范围的奖励点,例如第二到第四次出现)