1

想象两个字符n1,我需要在它们之间插入一个新字符。我们只需要在光标之前输入命令(以 结尾Esc),例如i—insert。此命令使 vi 处于输入模式,直到您按下Esc

现在假设有两个字符的范围:

  • n1
  • n2
  • n3
  • n4
  • n5
  • n6
  • n8
  • n9
  • ...很快。

例如“gin Bulk1”(添加Bulkn和之间1

现在我需要在这些之间插入一个 UNIQUE 字符。因此,与其手动逐一转到每一行,按下i,然后插入,我可以用 vi 中的简单命令来完成吗?

4

2 回答 2

0

我不确定我是否 100% 理解,但请尝试使用正则表达式替换:

:%s/n\([0-9]\)/nBulk\1/g

这将替换 n 的所有实例,后跟一个数字,nBulk 后跟相同的数字。我注意到你在你的问题中说 UNIQUE,所以如果你的意思是每次插入的单词都是不同的(所以n1-> nBulk1n2->nCat2例如),那么你需要更清楚地解释你的问题,比如有一些替换中的某种模式?

于 2012-06-11T06:25:53.833 回答
0

尝试这个:

:g/n and 1/s//n and x 1/g

如果你不明白这一点,那就贴几行实际的前后数据。

于 2012-06-11T04:38:27.737 回答