Linux Vim撤销和恢复撤销快捷键

news2024/11/28 8:28:24

使用 Vim 编辑文件内容时,经常会有如下 2 种需求:

  • 对文件内容做了修改之后,却发现整个修改过程是错误或者没有必要的,想将文件恢复到修改之前的样子。

  • 将文件内容恢复之后,经过仔细考虑,又感觉还是刚才修改过的内容更好,想撤销之前做的恢复操作。

基于这 2 种需求,Vim 编辑器提供了撤销和恢复撤销的命令。

注意,以上这 3 种命令都必须在 Vim 编辑器处于命令模式时才能使用。

下面通过一个例子来演示以上 3 个命令的具体用法。首先,我们新建一个 demo.txt 文件并打开,键入一行内容,例如:

http://c.biancheng.net

然后按“Esc”键,使 Vim 由输入模式转为命令模式,并使用 yy 命令将这一行文本复制到剪贴板中,如此我们就可以在文本任意位置通过键入 p(或大写的 P)命令将复制的内容粘贴到光标所在的位置。假设我们将光标调整到第一行最后一个字符处,连续按两次 p 命令(粘贴 2 次),则此时文本中的内容变为:

http://c.biancheng.net

http://c.biancheng.net

http://c.biancheng.net

在此基础上,通过 u(小写)命令就可以使文本内容恢复到上一次做粘贴操作之前的样子,其中“上一次”的含义是,恢复操作是可以叠加的,即按一次就会在现有基础上做一次恢复操作。比如,继续操作 demo.txt 文件,按一次 u,会发现其文本内容变为:

http://c.biancheng.net

http://c.biancheng.net

再按一次 u,文本内容继续恢复为:

http://c.biancheng.net

同样,恢复撤销的操作和撤销操作是相对应的,通过按 Ctrl+R 组合键,可以撤销之前所做的一次恢复操作。例如,继续操作 demo.txt 文件,按一次 Ctrl+R,会发现其文本内容恢复为:

http://c.biancheng.net

http://c.biancheng.net

再按一次 Ctrl+R,文本内容又恢复为:

http://c.biancheng.net

http://c.biancheng.net

http://c.biancheng.net

U(大写)的功能和之前的 2 个命令不同,它的作用是撤销或恢复撤销对光标所在行文本所做的全部操作。比如,我们对 demo.txt 文件内容做如下修改:

http://c.biancheng.net

http://c.biancheng.net

Linux教程 http://c.biancheng.net/linux_tutorial/

可以看到,这里对第三行文本做了 2 处修改(红色标注部分)。在此基础上,如果在命令模式下键入 U(大写),可以看到,之前对第 3 行所做的 2 处修改,全部被恢复了:

http://c.biancheng.net

http://c.biancheng.net

http://c.biancheng.net

如果此时再键入 U(大写),则又会恢复之前对第 3 行文本做过的全部操作:

http://c.biancheng.net

http://c.biancheng.netLinux教程

http://c.biancheng.net/linux_tutorial/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1175059.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

kubenetes认证、授权、准入控制

一、Api Server kube-apiserver是 Kubernetes 最重要的核心组件之一,主要提供以下的功能: 提供集群管理的REST API接口,包括认证授权、数据校验以及集群状态变更等; 提供其他模块之间的数据交互和通信的枢纽(其他模块…

基于猎食者算法的无人机航迹规划-附代码

基于猎食者算法的无人机航迹规划 文章目录 基于猎食者算法的无人机航迹规划1.猎食者搜索算法2.无人机飞行环境建模3.无人机航迹规划建模4.实验结果4.1地图创建4.2 航迹规划 5.参考文献6.Matlab代码 摘要:本文主要介绍利用猎食者算法来优化无人机航迹规划。 1.猎食者…

高效处理文件:批量顺序编号重命名方法

每个人都面临着文件管理的挑战,特别是那些需要处理大量文件的人。如何高效地管理这些文件一直是一个难题。为了解决这个问题,我向大家推荐一款强大的文件管理工具——固乔文件管家。这个工具可以帮助你快速有效地给文件进行批量重命名和编号,…

[直播自学]-[汇川easy320]搞起来(1)给PLC供电

从没正儿八经的用一用PLC,所以双11在淘宝入手一个EASY320,大概1000出头。 到货后,汇川官网搜了一下资料,搜到这几个: 首先是给PLC供电吧,看了下PLC前面是24V,不知道供电范围多宽,于…

js控制输入框中的光标位置

主要逻辑 主要应用selectionStart、selectionEnd来实现 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title…

Qt OpenGL相机系统

文章目录 一、简介二、实现代码三、实现效果参考资料效果展示 一、简介 一直偷懒没有学习OpenGL,乘着这段有点时间重新学习一下OpenGL,做一个简单的小工具,有助于后面理解OSG。我们都知道OpenGL中存在着下面几个坐标空间:模型空间(物体空间)、世界空间、观察空间(或者称…

6.网络之以太网

以太网协议 文章目录 以太网协议1. 以太网报文格式2. MAC地址3. MTU4. DNS域名解析 1. 以太网报文格式 源地址和目的地址&#xff1a;网卡的硬件地址&#xff08;也叫MAC地址&#xff09;&#xff0c;长度是48位&#xff0c;是在网卡出厂时固化的。帧协议类型&#xff1a;IP协议…

web前端——HTML+CSS实现九宫格

web前端——HTMLCSS实现九宫格 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title&…

Hadoop环境搭建及Demo

参考博客 Windows 10安装Hadoop 3.3.0教程 (kontext.tech) Hadoop入门篇——伪分布模式安装 & WordCount词频统计 | Liu Baoshuai’s Blog Hadoop安装教程 Linux版_linux和hadoop的安装_lnlnldczxy的博客-CSDN博客 hadoop启动出错 The value of property bind.address …

自考为什么要实行自考学分制?柯桥学历学校

为什么要实行自考学分制&#xff1f; 01 通过设置课程学分&#xff0c;考试机构能更好地掌握题目的难易程度&#xff0c;同时也便于助学单位根据不同课程的要求安排教学时间&#xff0c;调整授课和自学的进度。 02 学分制的引入为自考的选修课程提供了基础。自考的学生可以根据…

设计模式_访问者模式

访问者模式 介绍 设计模式定义案例问题堆积在哪里访问模式访问模式是行为型设计模式 从对象中分类出算法 这些算法封装为对象&#xff0c; 这样这些算法类很容易扩展&#xff0c;添加新的算法类就可以了不同的VIP用户 在不同的节日 领取不同的礼物if else太多 解决办法小技巧…

【数据结构】树与二叉树(二):树的表示C语言:树形表示法、嵌套集合表示法、嵌套括号表示法 、凹入表示法

文章目录 5.1 树的基本概念5.1.1 树的定义5.1.2 森林的定义5.1.3 树的术语5.1.4 树的表示1&#xff0e;树形表示法2&#xff0e;嵌套集合表示法结构体创建树主函数 3&#xff0e;嵌套括号表示法结构体创建树嵌套括号表示法主函数 4&#xff0e;凹入表示法结构体创建树凹入表示法…

YOLOv8-Seg改进:动态稀疏注意力(BiLevelRoutingAttention)助力分割 | CVPR2023

🚀🚀🚀本文改进:动态稀疏注意力(BiLevelRoutingAttention),实现更灵活的计算分配和内容感知,使其具备动态的查询感知稀疏性,引入到YOLOv8-Seg任务中,1)与C2f结合实现二次创新;2)注意力机制使用; 🚀🚀🚀BiLevelRoutingAttention 亲测在番薯破损分割任务…

每日一题 --- 力扣2003—每棵子树内缺失的最小基因值

图片借用B站灵茶山文艾府 打卡代码&#xff08;记得看&#xff0c;有注释&#xff09;&#xff1a; class Solution { public:vector<int> smallestMissingValueSubtree(vector<int> &parents, vector<int> &nums) {int n parents.size();vector&l…

SpringSecurity6 | 回顾Filter

✅作者简介&#xff1a;大家好&#xff0c;我是Leo&#xff0c;热爱Java后端开发者&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f34e;个人主页&#xff1a;Leo的博客 &#x1f49e;当前专栏&#xff1a; Java从入门到精通 ✨特色专栏&#xf…

【实验记录】SLAM论文:回环检测

PR曲线 检测不到的主要原因是光线、阴影等造成的无法提取图像信息 1. Robust_Place_Recognition_using_an_Imaging_Lidar If the position between the matched nodes is less than 2m, we consider this detection a true positive, otherwise a false positive. 如果匹配节…

Spring Boot 3系列之-启动类详解

Spring Boot是一个功能强大、灵活且易于使用的框架&#xff0c;它极大地简化了Spring应用程序的开发和部署流程&#xff0c;使得开发人员能够更专注于业务逻辑的实现。在我们的Spring Boot 3系列之一&#xff08;初始化项目&#xff09;文章中&#xff0c;我们使用了Spring官方…

6 款值得收藏的安卓照片恢复应用,支持最新的Android 13/14

由于意外删除、软件故障、系统崩溃、恢复出厂设置或任何其他原因&#xff0c;您可能会丢失 Android 手机中的照片。无论如何&#xff0c;您仍然有很大的机会在 Android 照片恢复应用程序的帮助下恢复照片。有大量提供恢复支持的应用程序&#xff0c;但并非所有应用程序都能够有…

jenkins安装以及基本配置

一、docker 1.安装docker 联网安装命令如下 curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun或者也可以使用国内 daocloud 一键安装命令&#xff1a; curl -sSL https://get.daocloud.io/docker | sh2.启动docker systemctl start docker二、docker…

android studio 编译Telegram源码经验总结(2023-11-05)

前言 Telegram是一款强大的端到端加密IM&#xff0c;专注于安全性和速度&#xff0c;支持Android/IOS/Windows/macOS等平台&#xff0c;功能丰富&#xff0c;运行流畅&#xff0c;免费开源&#xff0c;代码具有学习和研究意义。 一、android telegram源码下载地址&#xff1a; …