Vim 撤销 / 重做 / 操作历史命令汇总
Vim 提供了丰富的撤销(undo)、重做(redo)及查看操作历史的命令,帮助你在编辑过程中灵活地回退或前进到任意修改点。下面按功能分类整理常用命令,便于快速查阅和记忆。
目录
- 基本撤销与重做
- 时间旅行式撤销 / 重做
- 查看撤销历史
- 示例使用
- 跨会话保存撤销历史
基本撤销与重做
命令 | 功能描述 | 备注说明 |
---|
u | 撤销上一次操作 | 支持多次连续撤销 |
U | 撤销当前整行的所有更改(老式 Vim) | 一次性重置整行;⚠️ 不是连续多次 u |
Ctrl+r | 重做上一次被撤销的操作 | redo,配合 u 使用 |
:undo | 同 u | 命令模式或脚本中都可使用 |
:redo | 同 Ctrl+r | 命令模式下使用 |
时间旅行式撤销 / 重做
命令 | 功能描述 | 备注示例 |
---|
g- | 撤销到前一个修改点(按时间顺序) | 时间旅行式撤销 |
g+ | 前进到后一个修改点 | 与 g- 配对使用 |
:earlier {时间} | 回到指定时间之前的状态(支持 s /m /h 等单位) | 例如 :earlier 10m |
:later {时间} | 从过去状态快进到指定时间之后 | 与 :earlier 搭配,例 :later 2m |
查看撤销历史
命令 | 功能描述 | 备注说明 |
---|
:undolist | 显示当前缓冲区的撤销历史 | 可查看所有撤销分支 |
示例使用
" 连续撤销、重做
u " 撤销最近一次修改
u " 再次撤销上一条修改
<C-r> " 重做刚才撤销的修改" 时间旅行式撤销
:earlier 10m " 回到 10 分钟前的状态
:later 2m " 从此前状态快进 2 分钟" 按修改点前后跳转
g- " 回到上一个修改点
g+ " 前进到下一个修改点