閱讀629 返回首頁    go 阿裏雲 go 技術社區[雲棲]


《Vim實用技巧(第2版)》——1.4 執行、重複、回退

本節書摘來自異步社區《Vim實用技巧(第2版)》一書中的第1章,第1.4節,作者:【英】Drew Neil(尼爾)著,更多章節內容可以訪問雲棲社區“異步社區”公眾號查看

1.4 執行、重複、回退

在麵對重複性工作時,我們需要讓移動動作和修改都能夠重複,這樣就可以達到最佳編輯模式。Vim對此的支持是:它會記住我們的操作,並使最常用的操作觸手可及,所以可以很方便地重複執行它們。本節將介紹 Vim 可以重複執行的每個操作,並學習如何回退這些命令。
我們已經看到 . 命令會重複上次修改。由於很多操作都被當成一次修改,因此 . 命令已經證明了它的神通廣大。但有些命令能以其他的方式重複。例如,@: 可以用來重複任意Ex命令(在技巧31中討論),或者也可以輸入 & (參見技巧93)來重複上次的 :substitute命令(它本身也是一條Ex命令)。

如果我們知道如何重複之前的操作,而無需每次都輸入整條命令,那麼就會獲得更高的效率。可以先執行一次,隨後隻需重複即可。

然而,這麼少的按鍵就可以完成這麼多的事情,這也可能會帶來麻煩。我們需要很小心地操作才行,不然就很容易出錯。當一遍又一遍地連續按 j.j.j. 時,那種感覺就像是在敲鼓。可是,如果不小心在一行上敲了兩次 j 鍵,會發生什麼?或是更糟,敲了兩次 . 鍵?

當Vim讓一個操作或移動可以很方便地重複時,它總是會提供某種方式,讓我們在不小心做過頭時能回退回來。對 . 命令而言,我們永遠可以按 u 鍵撤銷上次的修改。如果在使用 f{char} 命令後,不小心按了太多次 ; 鍵,就會偏離我們的目標。不過可以再按 , 鍵跳回去,這個命令會反方向查找上次f{char}所查找的字符(參見技巧50)。

當不小心做過頭時,知道怎麼回退會很有幫助。表1-1總結了Vim中可重複執行的命令,以及相應的回退方式。在多數場景中,撤銷(undo)都是我們想要使用的命令,難怪我鍵盤上的 u 鍵磨損得這麼厲害!

表1-1 可重複的操作及如何回退
screenshot

最後更新:2017-06-06 07:38:13

  上一篇:go  《Vim實用技巧(第2版)》——1.5 查找並手動替換
  下一篇:go  《Vim實用技巧(第2版)》——1.3 以退為進