使用Vi Editor unix在两个字符之间插入字符的方法

时间:2012-06-11 04:30:43

标签: regex vi editing

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

现在让我们说有两个字符的范围:

  • n1
  • n2
  • n3
  • n4
  • n5
  • n6
  • n8
  • n9
  • ...等等。

e.g。 “gin Bulk 1”(在Bulkn之间添加1

现在我需要在它们之间插入一个UNIQUE字符。因此,不是手动逐行到每一行,按 i ,然后插入,我可以在vi中使用简单的命令吗?

2 个答案:

答案 0 :(得分:0)

试试这个:

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

如果您对此不了解,请在数据前后发布几行实际内容。

答案 1 :(得分:0)

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

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

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