1.撤销和恢复命令介绍

在操作一个文件的时候,难免会对文件进行错误的操作,要在vi中啊,可以使用u 这个命令,不停的回撤,一直回撤到打开文件的初始状态.

python中的撤销 python中怎么撤销操作_重做


与undo 相对应的命令, 也就是重做命令, 就使用CTRL加r,就可以把刚刚撤销的命令再恢复一下.

2. 删除命令演练

在vi 中, 删除命令有两个, 一个是x, 一个是d.

python中的撤销 python中怎么撤销操作_初始状态_02


其中x 这个命令对应的英文单词是cut,但是在使用图形编辑软件时要想剪切一段文字,对应的快捷键通常是CTRL加x.

x这个命令,就可以把光标所在的字符或者使用可视模式选中的字符删掉.

另外一个命令 d 对应的英文单词是delete, delete这个命令需要跟移动命令结合在一起使用.

delete 这个命令就可以把光标所在位置到移动命令对应的内容全部删掉.

做下演练,现在光标在第1行print 这个函数的开始位置.

python中的撤销 python中怎么撤销操作_打开文件_03

 按下x 之后, p 这个字符不见了.

python中的撤销 python中怎么撤销操作_打开文件_04

 再按4次x , 就把print 单词全部干掉了.

python中的撤销 python中怎么撤销操作_python中的撤销_05


一个一个地摁x , 太低效了.

要想一下子把print 这5个字符全部删掉, 就涉及到之前讲的重复,所谓重复,先输入一个数字,例如print 这个单词长度有5,

python中的撤销 python中怎么撤销操作_python中的撤销_06


就输一个数字5,再来输入一个x, 一下子把print全部干掉,这个就是x命令的作用.

python中的撤销 python中怎么撤销操作_打开文件_07


除此之外,x命令还可以把使用可视模式选中的文本一次性干掉.

现在输入一个字母v, 进入可视模式, 现在光标是在括号开始位置,摁下百分号%,把一对括号的内容全部选中,

python中的撤销 python中怎么撤销操作_打开文件_08


现在在按一下x,整个括号的内容全部干掉,这个就是x命令的作用.

python中的撤销 python中怎么撤销操作_初始状态_09


在vi中, 为了方便日常使用,针对delete 这个命令,还提供了两个便捷命令,一个是dd,一个是大写的D.

其中dd可以把光标所在的行直接删除, 而大写的D, 可以一直删除到行尾.

做个演练, 譬如要把第三行的内容全部删掉, 就可以连续按两下d,

python中的撤销 python中怎么撤销操作_vim_10

  

现在第三行不见了,

python中的撤销 python中怎么撤销操作_重做_11


如果想连续删除五行, 可以使用重复, 先输入一个数字5,

python中的撤销 python中怎么撤销操作_vim_12


再输入一个dd, 下方会提示少了五行.

python中的撤销 python中怎么撤销操作_vim_13


大写的D呢,可以从光标所在地位置, 一直删除到行尾.

python中的撤销 python中怎么撤销操作_打开文件_14


做个演练,按一下大写的D,print 后面所有的内容都没有了.

python中的撤销 python中怎么撤销操作_python中的撤销_15


delete 这个命令可以跟移动光标的命令结合起来使用.

譬如现在想把print 这个单词删掉,

python中的撤销 python中怎么撤销操作_python中的撤销_16


可以按一下d,再按一个w, w可以移动到单词的末尾, 整个单词被干掉了.

python中的撤销 python中怎么撤销操作_打开文件_17


现在想把第4行到第6行全部删掉,

python中的撤销 python中怎么撤销操作_vim_18



可以先按一个d,要删除到第6行, 就输个数字6,再来个大写的G.

注意,要使用大写的G,不能用小写的gg.

第4行到第6行全部删掉了.

python中的撤销 python中怎么撤销操作_初始状态_19

ndd , 重复, 先输入一个字母n, 在输入dd, 可以连续删除多行.

d'a, 其中单引号' 是使用m 命令增加的标记.

d'a 可以把光标所在位置到标记a 之间的所有代码全部删掉.

python中的撤销 python中怎么撤销操作_vim_20


3. 撤销和恢复撤销

演示一下使用撤销命令undo, 把刚刚对代码做的删除,全部恢复回来.

上一小节中删除了非常多的内容,

python中的撤销 python中怎么撤销操作_vim_21


现在按一下u, 恢复回来一部分,

python中的撤销 python中怎么撤销操作_重做_22


再按一下u呢,又恢复一个print,

python中的撤销 python中怎么撤销操作_重做_23


在按一下u, 把print末尾的内容恢复回来,

python中的撤销 python中怎么撤销操作_vim_24


在按一下u, 把之前删除的多行恢复,

python中的撤销 python中怎么撤销操作_重做_25


再按几下u, 一直来到文件的开始位置,现在下方提示已位于最旧的改变.

现在如果不想撤销这么多,那么就可以按下CTRL r, 按下, 又把之前做的操作又重复执行一遍(从头到尾, 而不是重尾到头).