2008-12-19 54 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

特別針對替換:使用&在正常模式的當前行上重複上次替換