(Vim) 復合命令、重復、回撤

一鍵雙雕——復合命令

很多Vim的單鍵命令都可以被看成兩個或多個其他命令的組合。下面是類似的一些例子,它們有什么共同點呢?

復合命令 等效的長命令
C c$
S ^c
I ^i
A $a
o A<CR>
O ko
s cl

當我們輸入ko命令時,想想自己在干嘛,然后要意識到我們可以把它換成O命令。

這些命令的共同點是,它們全都會從普通模式切換到插入模式。這會對.命令有怎樣的影響??當我們足夠熟練時,我們在執行一些常規的插入任務完全不用進行插入模式就可以用.命令快速重復之前操作。

s命令把兩個操作合并為一個:它先刪除光標下的字符,然后進入插入模式。f{char}命令讓Vim查找下一處指定字符出現的位置,如果找到了,就把光標移到那里(參見:h f)。當我們輸入f+時,光標會直接移到下一個+號所在的位置。使用;命令會重復查找上次f命令所查找的字符。這樣可以實現快速的查找與替換。

執行、重復、回退

在面對重復性工作時,我們需要讓移動動作和修改都能夠重復,這樣就達到了最佳的編輯模式。Vim會記住我們的操作,并使最常用的快捷鍵觸手可及,以方便我們重復執行它們。

除了.命令,有些命令能以其他的方式重復。@:可以用來重復任意Ex命令;我們也可以輸入&命令來重復上次的:substitute命令(它本身就是一條Ex命令)。

這樣操作起來確實很爽,但是一不小心摁錯或者多摁有可能導致很糟糕的情況。所以當我們不小心做過頭時,知道回退會很有幫助。

可重復的操作及如何回退

目的 操作 重復 回退
做出一個修改 {edit} . u
在行內查找下一個指定字符 f{char}/t{char} ; ,
在行內查找上一個指定字符 F{char}/T{char} ; ,
在文檔中尋找下一處匹配項 /pattern<CR> n N
在文檔中尋找上一處匹配項 ?pattern<CR> n N
執行替換 :s/target/replacement & u
執行一系列修改 qx{changes}q @x u
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Ubuntu的發音 Ubuntu,源于非洲祖魯人和科薩人的語言,發作 oo-boon-too 的音。了解發音是有意...
    螢火蟲de夢閱讀 99,589評論 9 467
  • Vim幾句話介紹Vim是Unix系統上的文本編輯軟件(你該不會不知道什么是文本編輯軟件吧!),在windows上也...
    何必遠方閱讀 3,217評論 0 3
  • 命令歷史 以:和/開頭的命令都有歷史紀錄,可以首先鍵入:或/然后按上下箭頭來選擇某個歷史命令。 啟動vim 在命令...
    im螞蟻閱讀 30,835評論 3 48
  • 曾經在思科的工廠測試系統`KlemTest` (`SUSE`命令行模式)中使用`VI`/`VIM`超過2年半,現在...
    戈多在地獄閱讀 1,868評論 1 13
  • 11.3
    遠子85閱讀 160評論 0 0