如何在 Vim 和 Vi 中執行撤銷和重做操作
Suraj Joshi
2023年1月30日
2020年9月26日
Vim
和 Vi
是 Linux 和 Mac 使用者中最流行的文字編輯器之一。
我們使用 u
、:u
或:undo
命令來撤銷 Vim 中的更改。同樣,我們使用 CTRL+R 或:redo
命令來重做更改。
撤銷 Vim/Vi 中的更改
Vim
會跟蹤我們對某一特定檔案所做的所有改動。undo 命令可以恢復一個或多個更改。最新的更改將首先被撤銷,然後是之前的更改。要撤銷 Vim 中的更改,我們使用 u
、:u
或:undo
命令。
在 Vim/Vi 中撤消更改的步驟
-
我們必須確保我們在正常模式下執行
Vim
的命令。如果我們不是在正常模式下,我們可以按 Esc 鍵切換到正常模式。 -
要撤銷最新的更改,使用
u
命令。 -
要一次撤銷多個更改,我們也可以使用帶數字的
u
命令。nu
命令將撤銷最新的n
次變化。
我們必須小心使用 u
的情況。如果我們不小心按了 U
,它將撤銷一行的所有最新變化。如果我們打了 U
,我們可以用 u
來恢復修改。
如果我們在插入模式下編輯一個檔案,在會話中所做的所有修改都會被視為撤銷樹中的一個條目。
如果我們在切換到插入模式後刪除了兩行,然後在切換回正常模式後使用 u
命令,這兩行將被恢復。
重做在 Vim/Vi
中的修改
redo
操作與 undo
操作相反。要重做檔案中未撤銷的更改,我們使用 CTRL+R 或 redo
命令。
在 Vim/Vi 中重做更改的步驟
-
我們必須確保我們在正常模式下執行
Vim
的命令。如果我們不是在正常模式下,我們可以按 Esc 鍵切換到正常模式。 -
要重做更改,我們使用 CTRL+R(同時按 Ctrl 和 Ctrl 鍵)或
:redo
命令進入正常
模式後。 -
要一次重做多個修改,我們使用數字與 CTRL+R 命令。
3 Ctrl-R
(按3
,然後同時按 Ctrl 和 r 鍵),然後該命令就會重做最近的 3 次更改。
我們可以在一個迴圈中使用撤銷和重做命令來撤銷修改,然後重做未撤銷的修改。
Author: Suraj Joshi
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn