撤销 恢复快捷键 Linux,Linux Vim撤销和恢复撤销快捷键用法详解

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

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

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

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

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

快捷键

功能

u(小写)

undo 的第 1 个字母,功能是撤销最近一次对文本做的修改操作。

Ctrl+R

Redo 的第 1 个字母,功能是恢复最近一次所做的撤销操作。

U(大写)

第一次会撤销对一行文本(光标所在行)做过的全部操作,第二次使用该命令会恢复对该行文本做过的所有操作。

注意,以上这 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.net

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

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

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

相关文章

实例17:python

#输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 #!/usr/bin/python3 a input(‘请输入一串字符:’) 英文 0 空格 0 数字 0 其他 0 for i in a: if i.isalpha(): 英文 1 elif i.isspace(): 空格 1 elif i.isnumeric(): 数字 1 else: 其他…

python输出运行时间表_Python编程第十二课 了解程序运行的时间

了解了程序如何运行,我们就可以让我们写的程序变得更快。介绍在前面很长一段时间,我们学习建立一个搜索索引,它可以通过一次一次地查看每个条目来响应查询。当搜索索引检查关键字与我们要找的词相匹配时,就会把结果打印出来。但是…

bow 折叠键盘 linux,bow便携折叠蓝牙键盘体验

bow便携折叠蓝牙键盘体验2019-10-07 02:29:3913点赞8收藏0评论买了个键盘 bow的hb188似乎对蓝牙键盘一直以来都有一种执念,自从想要写点什么东西的想法在脑子里面生根发芽之后,一直都在找一种相对来讲比较便携的键盘。一开始的时候想买苹果的原装键盘&am…

Python isalpha()方法

描述 Python isalpha() 方法检测字符串是否只由字母组成。 语法 isalpha()方法语法: str.isalpha() 参数 • 无。 返回值 如果字符串至少有一个字符并且所有字符都是字母则返回 True,否则返回 False 实例 以下实例展示了isalpha()方法的实例: #!/usr/bin…

admin——django自带数据库管理工具

admin是Django自带的数据库管理工具,是一个app 在admin.py中可以自己定制类来使admin数据库管理页面展现自己想要查看的信息 models.py from django.db import models# Create your models here.class Book(models.Model):title models.CharField(max_length32)pri…

python list存储方式_Python 之 将 list 存储为 .mat 文件

在 Python 中数据的矩阵操作常常会与 matlab 有数据交互,这就涉及到了在 Python 输出 .mat 文件。下面给出详细代码实现。存储 .mat 文件,涉及 scipy 中的 io 模块,以及相关方法 savemat 。主要代码如下:import numpy, scipy.iosc…

Python3 isspace()方法

Python3 字符串 描述 Python isspace() 方法检测字符串是否只由空白字符组成。 语法 isspace() 方法语法: str.isspace() 参数 • 无。 返回值 如果字符串中只包含空格,则返回 True,否则返回 False. 实例 以下实例展示了isspace()方法的实例&…

remote addr 取到内网ip_内网穿透工具frp

前言渗透渗透中面对的大部分目标除了暴露在互联网的部分,还有隐藏在内网的大量资产,这部分资产往往无法联通外网,很少暴露在攻击者面前,与此同时安全一般也没有外部资产做的全面 。如果我们从某一外部互联网入口成功进入了内网&am…

c语言char有什么作用,C语言中char*和char[]用法区别分析

本文实例分析了C语言中char* 和 char []的区别。分享给大家供大家参考之用。具体分析如下:一般来说,很多人会觉得这两个定义效果一样,其实差别很大。以下是个人的一些看法,有不正确的地方望指正。本质上来说,char *s定…

Python isnumeric()方法

描述 Python isnumeric() 方法检测字符串是否只由数字组成。这种方法是只针对unicode对象。 注:定义一个字符串为Unicode,只需要在字符串前添加 ‘u’ 前缀即可,具体可以查看本章节例子。 语法 isnumeric()方法语法: str.isnumeri…

连接hive

bin/hiveserver2 nohup bin/hiveserver2 1>/var/log/hiveserver.log 2>/var/log/hiveserver.err & 启动成功后,可以在别的节点上用beeline去连接 bin/beeline -u jdbc:hive2://mini1:10000 -n root 或者 bin/beeline ! connect jdbc:hive2://mini1:100…

python关机linux_Python学习第157课——Linux切换用户、关机、查看正在运行的程序...

【每天几分钟,从零入门python编程的世界!】我们接着介绍Linux中的命令。现在假设有这样的一个情况:假如说你是一个Linux系统专家,你有一个朋友,他的Linux系统出了问题,邀请你帮他解决一下。由于不是你的系统…

无人驾驶技术(2)

1、国外无人驾驶汽车发展现状 美国谷歌公司作为最先发展无人驾驶技术的公司,其研制的全自动驾驶汽车能够实现自动起动行驶与停车。谷歌自动驾驶汽车项目重组为一家名为Waymo的独立公司。Waymo于2017年11月7日对外宣布,将对不配备安全驾驶员的无人驾驶汽车…

c语言除法不四舍五入,C语言中关于POW在不同状态下四舍五入的解决方法

这是今天作业中的一个代码:#include #includeint main(){printf("请输入一个整数:");int c,a,x,d,f,i,mix;scanf("%d",&a);if(a>999999999){printf("越界!");return 0;}ca;printf("它的逆序输出为&#xff1a…

stringstream字符串流的妙用

现在有一个数组,其值为从1到10000的连续增长的数字。出于某次偶然操作,导致这个数组中丢失了某三个元素,同时顺序被打乱,现在需要你用最快的方法找出丢失的这三个元素,并且将这三个元素根据从小到大重新拼接为一个新数…

实例18:python

#题目:求saaaaaaaaaaaa…a的值,其中a是一个数字。例如222222222222222(此时共有5个数相加),几个数相加由键盘控制。 #!/usr/bin/env python3 -- coding: utf-8 -- n int(input(n )) a int(input(a )) sum 0 total 0 for i in range(…

vue vue的table表格自适应_响应式表格,HTML表格自适应(responsive table)

简单自适应表格前面的一篇文章里面我介绍到了一种简单的自适应表格制作方案,就是通过给表格的外面加了一个.table-container的标签.table-container{width: 100%;overflow-y: auto;_overflow: auto;margin: 0 0 1em;}table{border:0; border-collapse:collapse;}tab…

c语言程序设计实践教程课,C语言程序设计实践训练教程

计算机实践训练课程是程序设计课程中必不可少的一个环节。目的是训练读者综合运用该课程的知识与技巧的能力,达到理论联系实际、学以致用。本书是与《C语言程序设计教程》和《C语言程序设计实验指导与习题解析》配套使用的教学参考书。内容包括:程序设计…

AQS是什么?

AQS介绍AQS,即AbstractQueuedSynchronizer, 队列同步器,它是Java并发用来构建锁和其他同步组件的基础框架。来看下同步组件对AQS的使用:AQS是一个抽象类,主是是以继承的方式使用。AQS本身是没有实现任何同步接口的,它仅…

实例19:python

#题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。 #例如61+2+3.编程找出1000以内的所有完数。 #!/usr/bin/python3 list2 [] for x in range(1, 1001): list1 [] for i in range(1, int(x / 2) 1): if x…