我们除了进入编辑模式下可以编辑文件,在命令模式下,使用一些命令也是可以对文件做一些编辑的。
1)复制粘贴 copy paste
yy
yy是复制的命令
在yy前可以加上数字:
yy 或 1yy 复制光标当前行
n+yy 向后复制n行内容(包括当前行)
yy复制是以行作为单位的,最常用。除了yy,还有
y1G | 复制游标所在行到第一行的所有数据 |
yG | 复制游标所在行到最后一行的所有数据 |
y0 | 复制光标所在的那个字符到该行行首的所有数据 |
y$ | 复制光标所在的那个字符到该行行尾的所有数据 |
复制完,接着需要粘贴的命令,不然复制也就没意义了。
p
p命令是粘贴命令。
p(小写): 在光标所在位置向下新开辟一行,粘贴 P(大写): 在光标所在位置向上新开辟一行,粘贴
总结:
复制粘贴楠神不好演示,大家自己练习。
yy -> p
我们平时修改配置文件,相同的代码(个别数值不一样)需要写好几行,进入编辑模式一字一字地敲太慢了,复制粘贴就会派上大用场。
启用复制粘贴命令不会进入编辑模式。
2)剪切删除 shear delete
上节学习的大小写s具有删除功能,它是真删了。接下来讲的几个删除命令,实际上是剪切,删除过后,使用p命令可以粘贴的。
dd
dd 或 1dd 删除光标当前行
n+dd 向后删除n行内容(包括当前行)
dd过后:
删掉一行,并且不留空行
dd是比较常用的,经常需要删行。如果只删除个别字符,可使用
x: 删除光标后一个字符,相当于 Del X: 删除光标前一个字符,相当于 Backspace
x前面也可以加数字。稍作微修,x用着更方便些。这里就不演示了。
nx | n 为数字,连续向后(仅限本行内)删除 n 个字符。举例来说,我要连续删除 10 个字符, 『10x』。 |
nX | n 为数字,连续向前(仅限本行内)删除 n 个字符。 |
其他删除命令(和y复制差不多):
d1G | 删除光标所在到第一行的所有数据 |
dG | 删除光标所在到最后一行的所有数据 |
d$ or D | 删除游标所在处,到该行的最后一个字符 |
d0 | 那个是数字的 0 ,删除游标所在处,到该行的最前面一个字符 |
3)替换 replace
如果某个字符是错误的,除了直接进入编辑模式修改,还有一个更快捷的命令可以做到修改,那就是
r+字符 快速替换单个字符
输入rt
光标下(后)的字符a替换了t,光标并未后移。如果再次替换,还得重新输入r+字符。
命令r只适合做细微地修改,做大地改动就不如进入编辑模式,或者使用R进入替换模式。
R和r一样,也是替换命令。
R会一直取代光标所在的文字,直到按下 ESC 为止;
R起到的效果和进入编辑模式差不多,只是R进入的是
替换模式(Replace mode)