如何在 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