本節書摘來自異步社群《vim實用技巧(第2版)》一書中的第1章,第1.6節,作者:【英】drew neil(尼爾)著,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視
到目前為止,我們介紹了3個簡單的編輯任務。盡管每個問題都不一樣,不過我們都找到了用 . 指令解決該問題的方法。在本節,我們将比較這些方案,并找出它們共有的模式——一個我稱之為“ . 範式”的最佳編輯模式。
回顧前面3個 . 指令編輯任務
在技巧2中,我們想在一系列行的結尾添加分号。我們先用 <code>a;<esc></code>修改了第一行,做完這步準備後,就可以使用 . 指令對後續行重複此修改。我們使用了 j 指令在行間移動,要完成剩餘的修改,隻需簡單地按足夠多次 j. 就可以了。
在技巧3中,我們想為每個 + 号的前後各添加一個空格。先用 f+ 指令跳到目标字元上,然後用 s指令把一個字元替換成3個,做完這步準備後,就可以按若幹次 ;. 完成此任務。
在技巧5中,我們想把每處出現單詞“content”的地方都替換成“copy”。使用 * 指令來查找目标單詞,然後用 cw 指令修改第一處地方。做完這步準備後,就可以用 n 鍵跳到下一比對項,然後用 . 鍵做相同的修改。要完成這項任務,隻需簡單地按足夠多次 n. 就行了。
理想模式:用一鍵移動,另一鍵執行
所有這些例子都利用 . 指令重複上次的修改,不過這不是它們唯一的共同點,另外的共同點是它們都隻需要按一次鍵就能把光标移到下一個目标上。
用一次按鍵移動,另一次按鍵執行,再沒有比這更好的了,不是嗎?這就是我們的理想解決方案。我們将會一次又一次地看到這一編輯模式,是以為了友善起見,把它叫做“. 範式”。