Vim 撤销 / 重做 / 操作历史命令汇总

Vim 撤销 / 重做 / 操作历史命令汇总

Vim 提供了丰富的撤销(undo)、重做(redo)及查看操作历史的命令,帮助你在编辑过程中灵活地回退或前进到任意修改点。下面按功能分类整理常用命令,便于快速查阅和记忆。


目录

  1. 基本撤销与重做
  2. [时间旅行式撤销 / 重做](#时间旅行式撤销 / 重做)
  3. 查看撤销历史
  4. 示例使用
  5. 跨会话保存撤销历史

基本撤销与重做

命令 功能描述 备注说明
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 显示当前缓冲区的撤销历史 可查看所有撤销分支

示例使用

vim 复制代码
" 连续撤销、重做
u               " 撤销最近一次修改
u               " 再次撤销上一条修改
<C-r>           " 重做刚才撤销的修改

" 时间旅行式撤销
:earlier 10m    " 回到 10 分钟前的状态
:later 2m       " 从此前状态快进 2 分钟

" 按修改点前后跳转
g-              " 回到上一个修改点
g+              " 前进到下一个修改点
相关推荐
努力做小白1 小时前
Linux驱动11 --- buildroot&杂项驱动开发方法
linux·运维·驱动开发·单片机·嵌入式硬件
帽儿山的枪手2 小时前
追踪网络流量就这么简单 | 进阶篇 | conntrack
linux·windows·网络协议
哈哈浩丶2 小时前
Linux驱动开发1:设备驱动模块加载与卸载
linux·运维·驱动开发
Bulestar_xx2 小时前
20250711_Sudo 靶机复盘
linux·安全·web安全
一位搞嵌入式的 genius2 小时前
暑期自学嵌入式——Day01(C语言阶段)
linux·嵌入式c语言
胡耀超4 小时前
Umi-OCR 的 Docker安装(win制作镜像,Linux(Ubuntu Server 22.04)离线部署)
linux·深度学习·ubuntu·docker·容器·nlp·ocr
诗人不说梦^4 小时前
[BUUCTF 2018]Online Tool
linux·运维·服务器
晚风_END6 小时前
Linux|服务器|二进制部署nacos(不是集群,单实例)(2025了,不允许还有人不会部署nacos)
linux·运维·服务器·数据库·编辑器·个人开发
Gene_20227 小时前
[TOOL] ubuntu 使用 ffmpeg 操作 gif、mp4
linux·ubuntu·ffmpeg
哈哈浩丶7 小时前
Linux驱动开发2:字符设备驱动
linux·运维·驱动开发