如何在 Vim 和 Vi 中执行撤销和重做操作
    
    Suraj Joshi
    2023年1月30日
    
    Linux
    Linux Vim
    
 
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 次更改。
我们可以在一个循环中使用撤销和重做命令来撤销修改,然后重做未撤销的修改。
        Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe
    
作者: Suraj Joshi
    Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn