linux vim 撤销 回退操作

embedded/2025/3/3 4:41:25/

在Linux的vim编辑器中,撤销和回退操作是非常基本的,但它们可以通过不同的方式实现,具体取决于你想要的精确效果。下面是一些常用的方法:

1. 撤销(Undo)
单个撤销:

你可以通过按下u键来撤销上一次的更改。

或者使用Esc键进入命令模式,然后输入:undo。

连续撤销:

如果你需要连续撤销多次,可以使用U(大写U)来撤销当前行的所有更改。

对于更复杂的撤销需求,可以使用.(点)命令重复最后的编辑动作。例如,如果你连续做了几次插入(i)或删除(d),可以使用.重复这些操作来撤销它们。

2. 回退(Redo)
vim中,标准的回退操作不是内置的,但你可以通过一些技巧来实现类似的效果:

重做上一个操作:

使用u命令撤销更改后,再次使用u会将文件恢复到更早的状态。如果你想回到更早的“未来”状态,你需要找到一个共同的撤销点然后重新做更改。例如,如果你撤销了多次,然后又想回到其中一个特定的中间状态,你需要先使用u回到那个中间状态的前一个状态,然后再重新做需要的更改。

使用:earlier和:later命令:

你可以使用:earlier 10m(10分钟前)或:later 10m(10分钟后)来在时间点之间来回切换。

这些命令允许你回退到更早的编辑状态或者前进到未来的某个点。

3. 使用Vim的撤销树
从Vim 7.4开始,Vim引入了撤销分支功能,这意味着你可以在编辑历史中来回穿梭而不会丢失任何信息。你可以通过以下方式查看和管理这些分支:

查看撤销树:

输入:undolist查看所有撤销的历史记录。

跳转到特定的撤销状态:

使用:undo <number>跳转到特定的撤销状态,其中<number>是:undolist显示的序号。

小结
虽然Vim没有直接的“redo”命令,但通过结合使用u(undo)、. (重复上一个编辑动作)、:earlier和:later命令以及利用撤销树功能,你可以有效地管理和回退你的编辑操作。掌握这些技巧将帮助你更高效地使用Vim。


http://www.ppmy.cn/embedded/169521.html

相关文章

如何获取Mac OS 安装盘

发现虚拟机VirtualBox支持Mac虚拟&#xff0c;就想尝试一下。但是发现Mac的安装盘特别难拿到&#xff0c;因此留档。发现有几种方法&#xff0c;最简单的方法&#xff0c;是在有Mac 机器的情况下&#xff0c;直接到App Store里&#xff0c;根据Mac版本的名字查找并下载。另外还…

UE5切换关卡函数OpenLevel,输入模式结构体,UI界面

1.输入模式结构体 FInputModeGameOnly&#xff1a;玩家只能与游戏世界交互&#xff0c;UI 不可交互。FInputModeGameAndUI&#xff1a;玩家可以与游戏世界和 UI 同时交互。FInputModeUIOnly&#xff1a;玩家只能与 UI 交互&#xff0c;无法与游戏世界进行互动。 FInputModeGam…

给wordpress仪表盘添加自定义图标

wordpress后台仪表盘默认的图标是wordpress自带的&#xff0c;如果要将图片修改为自己的&#xff0c;只需要在function.php文件中加入以下代码。 function wdp_custom_logo() { echo <style type"text/css"> #wpadminbar #wp-admin-bar-wp-logo > .ab-ite…

安全模块设计:token服务、校验注解(开启token校验、开启签名校验、允许处理API日志)、获取当前用户信息的辅助类

文章目录 引言pom.xmlI 校验注解ApiValidationII token服务TokenService获取当前用户信息的辅助类III 域登录接口响应数据登陆用户信息引言 pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/PO…

Vxe UI 根据vxe-tabs 绑定不同的值,渲染生成不同的 tabls(页签)内容

VxeUI tabs控件&#xff0c;根据绑定不同的内容&#xff0c;动态渲染不同的表格数据放置在不同的 tab 页 效果图如下&#xff1a; 代码实现 <template><vxe-tabs :options"detailTabList"><vxe-tab-pane v-for"(item, index) in detailTabList&…

探索 Hutool - JSON:高效的 JSON 处理利器

各位开发者们&#xff0c;咱今天来好好聊聊在 Java 开发里特别实用的一个工具——Hutool - JSON。在现代的软件开发中&#xff0c;JSON&#xff08;JavaScript Object Notation&#xff09;已经成为了数据交换的标准格式之一&#xff0c;无论是前后端交互&#xff0c;还是与第三…

华为在不同发展时期的战略选择(节选)

华为在不同发展时期的战略选择&#xff08;节选&#xff09; 添加图片注释&#xff0c;不超过 140 字&#xff08;可选&#xff09; 来源&#xff1a;谢宁专著《华为战略管理法&#xff1a;DSTE实战体系》。本文有节选修改。 导言 从目前所取得的成就往回看&#xff0c;华为…

Unity:背景图像的旋转和按钮的缩放动画

实现控制两个背景图像的旋转&#xff0c;并且可以通过点击按钮来放大或缩小父级对象&#xff0c;步骤如下&#xff1a; 1、旋转背景图像&#xff1a; 有两个背景图像 wai 和 nei&#xff0c;分别代表外背景和内背景。 这两个背景图像会以相反的方向旋转&#xff0c;wai 向前旋…