1.撤销和恢复命令介绍
在操作一个文件的时候,难免会对文件进行错误的操作,要在vi中啊,可以使用u 这个命令,不停的回撤,一直回撤到打开文件的初始状态.
与undo 相对应的命令, 也就是重做命令, 就使用CTRL加r,就可以把刚刚撤销的命令再恢复一下.
2. 删除命令演练
在vi 中, 删除命令有两个, 一个是x, 一个是d.
其中x 这个命令对应的英文单词是cut,但是在使用图形编辑软件时要想剪切一段文字,对应的快捷键通常是CTRL加x.
x这个命令,就可以把光标所在的字符或者使用可视模式选中的字符删掉.
另外一个命令 d 对应的英文单词是delete, delete这个命令需要跟移动命令结合在一起使用.
delete 这个命令就可以把光标所在位置到移动命令对应的内容全部删掉.
做下演练,现在光标在第1行print 这个函数的开始位置.
按下x 之后, p 这个字符不见了.
再按4次x , 就把print 单词全部干掉了.
一个一个地摁x , 太低效了.
要想一下子把print 这5个字符全部删掉, 就涉及到之前讲的重复,所谓重复,先输入一个数字,例如print 这个单词长度有5,
就输一个数字5,再来输入一个x, 一下子把print全部干掉,这个就是x命令的作用.
除此之外,x命令还可以把使用可视模式选中的文本一次性干掉.
现在输入一个字母v, 进入可视模式, 现在光标是在括号开始位置,摁下百分号%,把一对括号的内容全部选中,
现在在按一下x,整个括号的内容全部干掉,这个就是x命令的作用.
在vi中, 为了方便日常使用,针对delete 这个命令,还提供了两个便捷命令,一个是dd,一个是大写的D.
其中dd可以把光标所在的行直接删除, 而大写的D, 可以一直删除到行尾.
做个演练, 譬如要把第三行的内容全部删掉, 就可以连续按两下d,
现在第三行不见了,
如果想连续删除五行, 可以使用重复, 先输入一个数字5,
再输入一个dd, 下方会提示少了五行.
大写的D呢,可以从光标所在地位置, 一直删除到行尾.
做个演练,按一下大写的D,print 后面所有的内容都没有了.
delete 这个命令可以跟移动光标的命令结合起来使用.
譬如现在想把print 这个单词删掉,
可以按一下d,再按一个w, w可以移动到单词的末尾, 整个单词被干掉了.
现在想把第4行到第6行全部删掉,
可以先按一个d,要删除到第6行, 就输个数字6,再来个大写的G.
注意,要使用大写的G,不能用小写的gg.
第4行到第6行全部删掉了.
ndd , 重复, 先输入一个字母n, 在输入dd, 可以连续删除多行.
d'a, 其中单引号' 是使用m 命令增加的标记.
d'a 可以把光标所在位置到标记a 之间的所有代码全部删掉.
3. 撤销和恢复撤销
演示一下使用撤销命令undo, 把刚刚对代码做的删除,全部恢复回来.
上一小节中删除了非常多的内容,
现在按一下u, 恢复回来一部分,
再按一下u呢,又恢复一个print,
在按一下u, 把print末尾的内容恢复回来,
在按一下u, 把之前删除的多行恢复,
再按几下u, 一直来到文件的开始位置,现在下方提示已位于最旧的改变.
现在如果不想撤销这么多,那么就可以按下CTRL r, 按下, 又把之前做的操作又重复执行一遍(从头到尾, 而不是重尾到头).