2008-12-19 75 views
13

在Unix中,^允许您重复使用一些文本替换新文本的命令。例如:如何在Vim中使用替换重复一个命令?

csh% grep "stuff" file1 >> Results 
grep "stuff" file1 
csh% ^file1^file2^ 
grep "stuff" file2 
csh% 

是否有Vim等价物?有很多次我发现自己一次又一次地在命令行上编辑小部分内容。

回答

5

有2种方法。

  1. 您只需点击即可。键是执行最后一个命令(移动除外)的精确重放的键。例如,我输入cw然后hello将单词更改为“hello”。将光标移到不同的单词后,我点击了再做一次。
  2. 对于更高级的命令,如替换,在执行完替换之后,只需点击键,然后按向上箭头键,并用相同的命令填充命令行。
+1

但是我不想重复这个命令,我想用略微不同的文本重复一个命令(从命令行)。 – Whaledawg 2008-12-19 22:11:00

+0

是的,你可以用^箭头,然后改变线上的任何东西。对不起,我没有提到。 – palehorse 2008-12-19 22:21:36

9

q:进入命令行窗口(:help cmdwin)。

您可以在此窗口中编辑和重新使用先前输入的ex-style命令。

+0

不是我正在寻找的东西,我想要更快的方法。但这是一个很好的信息,因为现在我至少可以编写一个函数来执行我正在寻找的功能。谢谢。 – Whaledawg 2008-12-19 21:23:35

4

一旦您点击:,您可以输入一对情侣字符和向上箭头,并且它将与您输入的字符匹配。例如键入:set,它将通过你的“套牌”爬回来。这也适用于搜索 - 只需输入/和向上箭头即可。而/abc向上箭头会以反时间方式为您提供匹配搜索字符串。

27

特别针对替换:使用&在正常模式的当前行上重复上次替换

相关问题